Mohammad_Shams
Member
سلام
چند تا پیشنهاد دارم:
1. این قابلیت را به صورت یک تابع جدید به کلاس اضافه کنید، تا کاربرد قبلی کلاس از بین نرود.
2.در صورت null بودن پارامتر KeyWord تابع جواب نمیدهد که باید اصلاح شود.
3. در صورت null بودن کلید، هش بدست آمده با هش حاصل از نسخه اولیه کلاس یکسان باشد. (به دلیل backward compatiblity)
4. کد بهینه شود. چرا بعضی متغیرها را دوبار تعریف کرده اید (مثلا آرایه)
5. کلاسهایی که آپگرید میشوند، باید به شکلی تغییر کنند که شخصی که از نسخه قبلی آنها استفاده میکرده، بتواند بدون هیچ مشکلی از امکانات نسخه جدید در کنار امکانات قبلی استفاده کند.
6. شیوه وارد کردن کلید به محاسبات هش مشکل دارد زیرا با کلیدهای متفاوت، هش یکسان تولید میکند. مثلا:
چند تا پیشنهاد دارم:
1. این قابلیت را به صورت یک تابع جدید به کلاس اضافه کنید، تا کاربرد قبلی کلاس از بین نرود.
2.در صورت null بودن پارامتر KeyWord تابع جواب نمیدهد که باید اصلاح شود.
3. در صورت null بودن کلید، هش بدست آمده با هش حاصل از نسخه اولیه کلاس یکسان باشد. (به دلیل backward compatiblity)
4. کد بهینه شود. چرا بعضی متغیرها را دوبار تعریف کرده اید (مثلا آرایه)
5. کلاسهایی که آپگرید میشوند، باید به شکلی تغییر کنند که شخصی که از نسخه قبلی آنها استفاده میکرده، بتواند بدون هیچ مشکلی از امکانات نسخه جدید در کنار امکانات قبلی استفاده کند.
6. شیوه وارد کردن کلید به محاسبات هش مشکل دارد زیرا با کلیدهای متفاوت، هش یکسان تولید میکند. مثلا:
کد:
import com.mshams.MHR2;
var e:MHR2 = new MHR2();
trace(e.getHash("mytext", "HadiMetal"));
trace(e.getHash("mytext", "HadiMetalHadiMetal"));
trace(e.getHash("mytext", "HadiMetalaaaaa"));
trace(e.getHash("mytext", "HadiMetalsadgsdfgert"));
trace(e.getHash("mytext", "HadiMetal1111111111"));
trace(e.getHash("mytext", "HadiMetal2222222222222"));
output:
3412d8ce0951bf83fec9b8c547a13be6
3412d8ce0951bf83fec9b8c547a13be6
3412d8ce0951bf83fec9b8c547a13be6
3412d8ce0951bf83fec9b8c547a13be6
3412d8ce0951bf83fec9b8c547a13be6
3412d8ce0951bf83fec9b8c547a13be6