PDA

Просмотр полной версии : хороший стиль программрования


flash-master
22.06.2005, 02:13
плз, помогите! вот бывает начинаю программить что нибудь, получаю код на +-1000 строк, и все это где-то неработает, а если начинать разбирать то ничего понять немогу, и возникает непреодолимое желание все переписать заново :) мне кажется что я неграмотно программлю, может есть что нибудь что сможет облегчить читабельность кода?? ну естественно кроме коментариев...

Nirth
22.06.2005, 02:24
мне помогает две вещи
заранее спроктировать всю эту фиговину, на листе бумаги(все методы, все свойства, где что возможно расширить на будущее)
и потом писать классами, кода получаеться больше зато запутаться труднее.

так же неплохо почитать колина мука, там в конце книги неплохо изложены различные патерны, да и я у себя в блоге когда то выкладывал парочку

flash-master
22.06.2005, 02:30
Nirth, спасибо...

Artem Brigert
22.06.2005, 02:38
волшебное слово UML знаешь?
да и как уже сказал Nirth ... design patterns

flash-master
22.06.2005, 02:48
Uml - унифицированный язык моделирования является графическим языком для визуализации, специфицирования, конструирования и документирования систем, в которых большая роль принадлежит программному обеспечению. ну и ... ??

Artem Brigert
22.06.2005, 02:50
мне кажется что я неграмотно программлю

тебе на кажется и ненадо говорить ну, иди читай а не нукай

flash-master
22.06.2005, 02:55
Artem Melnikov, я вроде коректно спросил, или нет? Если я что-то зделал не так - поправь меня, а не провоцыруй на грубость...

Artem Brigert
22.06.2005, 02:59
чувак ... облегчить читабельность кода может только грамотное программирование, а перед этим моделирование того что ты хочешь сделать. это делается разными способами, один из них это UML теперь понятно? или тебе по байтам разложить?

flash-master
22.06.2005, 03:04
теперь понятно, спасибо... чувак :)

Artem Brigert
22.06.2005, 03:05
значит с design patterns проблем нет, это хорошо :D

Dvaman
22.06.2005, 05:34
У меня вот тоже вопросы по этому поводу.
Пренебригаете ли вы префиксами и словом var? (просто иногда не хочется их писать)
Нужно ли давать имена переменным полностью? Например мне быстрее объявить переменную fp_mc и часто ее использовать, чем firstpreloader_mc. (более понятно, но нагромождение кода большое)
У меня лично такой взгляд. Если проект простой - по барабану даже как названы мувики, а если трудоемкий то тогда задумываюсь над названиями всех имен.(иногда записываю)
Когда много подгружаемых swf, то в каждом в _root определяю список методов (функций) что он умеет делать.
например
myStart() - собраться в кучу и появится всем частям
mySetProgress(value) - истановить значение загрузки
myEnd() - разлететься всем частям, исчезнуть... выгрузится
...ну и т.д.

nuran
22.06.2005, 07:23
чем короче имя переменной, тем лучше мне кажеться, а по поводу функций, я также примерно делаю, для кажого MovieClip определяю функциональные методы, что достаточно облегчает жизнь + мне ещё очень помогает mx.transitions =)

nuran
22.06.2005, 07:24
ну и конечно листенеры, события, и пр ... =)

Dvaman
22.06.2005, 08:38
можно подробней о mx.transitions

Листенеры как то редко использую. Можно примерчик где их лучше всего применять. (в чем их преимущество)

Dvaman
22.06.2005, 08:42
" чем короче имя переменной, тем лучше мне кажеться, "

я тож так думал, но по серьезной литературе видно что нужно давать не сокращенные имена а полностью. ссылаются на то что код более читабельный

Nirth
22.06.2005, 11:29
А у меня своя библиотека для изингов =) макромедиевские транзишины как то слишком долго набивать, свой код я сократил на пару параметров.

2 Артем Мельников
UML вещь замечательная, но для AS я толкового еще ничего не видел, плохо смотрел?

да кстати очень помогают правила намисания суфиксов и префиксов
_array - массив
_txt - текствовое поле
_mc - мувиклип
и тд подробнее можно прочесть в хелпе,
и еще
__functionName для приватных функций(или свойств)

iNils
22.06.2005, 11:38
да кстати очень помогают правила намисания суфиксов и префиксов
_array - массив
_txt - текствовое поле
_mc - мувиклип
и тд подробнее можно прочесть в хелпе,
и еще
__functionName для приватных функций(или свойств)
Можно слегка оптимизировать и писать в начале без использования символа подчеркивания:

mcMyCLip
txtInput
arrayBall
и тд.

Nirth
22.06.2005, 11:43
2iNils можно но один символ ничего не решает=)

да кстати, при работе с классами я всегда пишу import для всех классов(даже когда сокращнеие ненужно) просто чтобы видеть все ветки структуры.
ну и в тэгах [Event()] прописываю все создаваемые мной события.

GoreMika
22.06.2005, 12:30
Вставлю свои пять копеек.
Насчет читабельности - ИМХО спасение в хороших, продуманных коментариях.
Насчет имен переменных - взрослая летиратура говорит, что лучше давать полные имена. Если очень хочеться, то можно сокрашать общепринятые слова и словосочитания (mc например). Если все равно писать лень, то желательно в начале каждого блока оставлять коментарии к именам переменных, оъясняющих их назначение...

А вообще помогают схемы алгоритмов.... даже если не полные и от руки на клочке бумаги...

Artem Brigert
22.06.2005, 12:38
UML вещь замечательная, но для AS я толкового еще ничего не видел, плохо смотрел?
UML он же для всего ... ведь он же "U"ML ;)

а вообще меня например учили переменный обьявленные в классах называть m_bla. Member переменнные, или как это по-русски

Nirth
22.06.2005, 12:48
угу, только вот под яву и с++ есть спец плагины, с удобными плюшками=) а под AS еще нету, в принципе я использую Visio и ArgoUML и надеюсь что выйдет плагин

Artem Brigert
22.06.2005, 12:51
когда AS станет "большим" ,будут и плагины IMHO

Nirth
22.06.2005, 12:55
в OSFlash уже поднималась данная тема пару раз, и если не ошибусь в FlashCoders, есть надежда что скоро соберуться.

Artem Brigert
22.06.2005, 12:58
всё может быть

KUZEN
22.06.2005, 13:38
Ну что касается полных понятных имён , то лучше сначала объявлять полно ну например firstMoviePreloader_mc , а перед компиляцией просто заменять их на короткие (fmp) ... в итоге и код читабельный и вес откомпилированного файла меньше ;)

Nirth
22.06.2005, 14:04
2 Kuzen
но увы не так хорошо работает при использовании многоразового кода(классы)
да и размер в несколько байт(и тех архивированных) не сильно мешает=)
но всеже давать имена больше 10 символов очень не люблю.

Штрек
22.06.2005, 15:20
... или тебе по байтам разложить?
Очень хотелось бы почитать рахмышлизмы
великого программёра всех времён....... :p

KUZEN
22.06.2005, 15:24
2Nirth
Да в классах конечно же эта фишка не покатит ...

Artem Brigert
22.06.2005, 15:26
Очень хотелось бы почитать рахмышлизмы
в отличии от тебя я знаю о чём говорю, все экзамены по softwareengeneering я сдал без особых проблем

silin
22.06.2005, 19:47
да и размер в несколько байт(и тех архивированных) не сильно мешает=)
размер одно, но и производительность не нада забывать
for(var i=10000,s,t=getTimer();i--; ) s+=i;
trace(getTimer()-t);//56,59,56,57
for(var i=10000,longVariableName,t=getTimer();i--; ) longVariableName+=i;
trace(getTimer()-t);//61,62,74,60
//10-15 % на дороге не валяются, если надо экономить канеш..

Nirth
22.06.2005, 19:48
но всеже давать имена больше 10 символов очень не люблю

ну так и говорю, в принципе в 5-6 символов можно уложить много чего=)

Artem Brigert
22.06.2005, 19:58
Что пишет Мук на 62 странице ActionScript Подробное руководство русского издания 2002 года :)

Допустимые имена переменных

Не должны превышать в длину 255 символовю.(Ладно, это неправда, но пересмотрите свою систему именования переменнных, если они превосходят в длину 255 символов.)

;)