Главная Загрузки Проекты Ссылки Гостевая Мысли вслух

Размышления на тему


8.10.07
Пост maskin на форуме 4pda.ru
Deanit, 
Интересно. Молодец. Изучал проект DMECalc
Но надеюсь ты воспримешь правильно критику :

Не обижайся, но в коде есть недочеты. Если ты собрался помочь новичкам, то стиль твоего кода должен быть таким, чтоб его нельзя было отличить от майкрософтовского, что б на тебя равнялись и за тобой повторяли. Что я имею ввиду :
а) в коде много "сигналов из космоса" например : 
Что значит число 33 ? Возраст Христа или максимальное количество возможных чисел ? Почему б это число не превратить в именованию константу (типа MAXIMUM_DIGITAL_COUNT) ?
б) Встречаются члены класса, с очень интригующими названиями как например Mem0, Mem1
в) Очень много "пустых" операторных скобок
г) Не ясное использование операндов в методе Resultat(). Почему б параметр functionIndex не превратить в перечисление ? 
И человеку который твой код изучает понятно и программе, а сейчас только понятно тебе и программе - это не правильно.
д) Почему б не использовать единый метод для всех цифровых кнопок ? И в этом методе привязаться к такому замечательному свойству объекта Control как Tag (см. ObjectInspector) ?

И код этого метода будет следующим :


	CODE	


private void NumberButton_Click(object sender, System.EventArgs e)

{

                        isFuncButton=false;

if(CalcScreen.Text.Length> MAXIMUM_DIGITAL_COUNT)

                              return;

string buttonCaption = (sender as Control).Tag.ToString();


if (!isFirstDigit)

CalcScreen.Text +=buttonCaption;

else 

{

                                        operand1=Convert.ToDouble(CalcScreen.Text);

CalcScreen.Text=buttonCaption;

isFirstDigit=false;

}


if (AfterEq)

{

operand1=0;

funcIndex=0;

AfterEq=false;

}

}




е) Существует скрытая угроза в твоем использовании isFuncButton. Посмотри куда я его перенес.

ё) Было бы правельние следующие строки разнести по отдельным методам :

Один метод :

	CODE	


{

                                        operand1=Convert.ToDouble(CalcScreen.Text);

CalcScreen.Text=buttonCaption;

isFirstDigit=false;

}



Второй метод :

	CODE	


{

if (!AfterEq)

                                   return;



operand1=0;

funcIndex=0;

AfterEq=false;

}




А в целом - не плохо. Не обращай внимания на необоснованные высказывания некоторых разработчиков. Следуй принципу : Программировать не на языке, а при помощи него.

Так что имейте в виду, не все тут совершенно!!!
Есть и ошибки!!!
27.10.07
Думаю о managed DirectX mobile. Вчера потыкал, device.Clear() получилось. Не могу ловить тапы на форме. Мучаюсь. Вообще очень сложно, хотя я вроде с трехмеркой знаком - знаю математические основы и работал много в 3DsMax. Какие-то блин вертекс буферы, график стримы, пайплайны... Башка трещит. Хочу замутить игруху круче чем FF9 на PSone. FPSECE 0.9.6 тормоз нереальный, чем издеваться над зверьком, лучше нормальные игрушки делать. А то ведь проц 520 мгц, а косынка - самая интересная игра(после Балды конечно:)) Но боюсь, моих силенок может не хватить на целую такую огромную РПГху, а с другой стороны, идей и задумок навалом. Не хватает времени, сил и денег. А народ кучкуется в плюсах. Не люблю я блин эти плюсы. Конечно, без такого быстрого и универсального языка был бы пипец, но шарп на кпк без плавающих точек и др. математики дает 90% скорости плюсов, а его функциональности вполне хватает для игрух (да-да!) Короче, быть или не быть гамесу? А! Была не была! сделаю хотя б двиган тридэшный наподобие ФФ или резидент ивила, чтоб статический экран, а по нему модельки бегают. Если не обломаюсь об ДиректМастДай...




Вы можете комментировать сайт и задавать вопросы на странице Гостевая
Hosted by uCoz