Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   хороший стиль программрования (http://www.flasher.ru/forum/showthread.php?t=65876)

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

Цитата:

Сообщение от Nirth
да кстати очень помогают правила намисания суфиксов и префиксов
_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

Цитата:

Сообщение от Artem Melnikov
... или тебе по байтам разложить?

Очень хотелось бы почитать рахмышлизмы
великого программёра всех времён....... :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 символов.)

;)


Часовой пояс GMT +4, время: 20:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.