Страница 1 из 6
К чему это?
Добавлено: 02 дек 2009, 13:49
Kate
Смотрю кусок кода, который написала два года назад, и думаю - какой идиот это писал? О чем я думала? Ладно-б просто баг недоглядела, но чтоб вот так всю логику СВОЮ не понять? Первый раз такое.
И че это значит? Нашло затмение? Я с тех пор поумнела?

Как можно самому себя не понимать? Во, блин...
Re: К чему это?
Добавлено: 02 дек 2009, 14:42
Stanislav
Kate писал(а): Я с тех пор поумнела?
Да

Re: К чему это?
Добавлено: 02 дек 2009, 14:48
Kate
Stanislav писал(а):Kate писал(а): Я с тех пор поумнела?
Да

Спасибо!

Re: К чему это?
Добавлено: 02 дек 2009, 16:19
dima
Kate писал(а):Смотрю кусок кода, который написала два года назад, и думаю - какой идиот это писал? О чем я думала? Ладно-б просто баг недоглядела, но чтоб вот так всю логику СВОЮ не понять? Первый раз такое.
И че это значит? Нашло затмение? Я с тех пор поумнела?

Как можно самому себя не понимать? Во, блин...
this called evolution
Re: К чему это?
Добавлено: 02 дек 2009, 20:22
Marmot
Kate писал(а):Смотрю кусок кода, который написала два года назад, и думаю - какой идиот это писал? О чем я думала? Ладно-б просто баг недоглядела, но чтоб вот так всю логику СВОЮ не понять? Первый раз такое.
И че это значит? Нашло затмение? Я с тех пор поумнела?

Как можно самому себя не понимать? Во, блин...
У мня такое почти каждый день, а код всего месяцев двух от роду

Просто когда одновременно пишется 5-7 несильно связанных подсистем, мозг не успевает переключаться

Re: К чему это?
Добавлено: 02 дек 2009, 21:37
Jou-Jou
Когда я программировала (ох, давно это было!), приучила себе комменты вставлять повсюду, иначе через какое-то время и через какое-то количество кода уже не вспомнить было почему именно так, а не иначе
Здорово помогало, когда приходилось возвращаться к коду.
И не только мне, но и другим.
А ещё - ненавидела чей-то код переделывать - вот где мучение было понять чего тот программист замыслил!... и ни одного коммента

бр-р-рррр!
Re: К чему это?
Добавлено: 03 дек 2009, 02:13
Rai
Jou-Jou писал(а):Когда я программировала (ох, давно это было!), приучила себе комменты вставлять повсюду
Я обычно в начале любого более или менее сложного модуля (ну, условно говорим) в комментариях описываю, что этот модуль вообще делает, какие ограничения на входе/выходе, каков общий алгоритм действия. И потом по ходу написания указываю, что вот эта функция реализует такую-то часть алгоритма, а эта -- такую.
Буквально на днях возвращался к коду пятилетней давности -- вообще никаких проблем. Прочитал, понял. Посмеялся, конечно, над кривизной реализации (сейчас бы все иначе сделал), но логика была понятна сразу после чтения комментариев.
Ну и жесткий code style помогает, конечно.
Re: К чему это?
Добавлено: 03 дек 2009, 06:14
AlexANB
Jou-Jou писал(а):Когда я программировала (ох, давно это было!), приучила себе комменты вставлять повсюду, иначе через какое-то время и через какое-то количество кода уже не вспомнить было почему именно так, а не иначе

Я обычно не только комменты пишу, но и имена функциям и переменным даю осмысленные, "говорящие".
Никахих переменных типа "а123" !
Вместо этого всегда что-нибудь вроде "long_Arb_1_Trade_regime". Да, это длиннее, но помогает сильно.
Re: К чему это?
Добавлено: 03 дек 2009, 06:26
Stanislav
Marmot писал(а):Kate писал(а):Смотрю кусок кода, который написала два года назад, и думаю - какой идиот это писал? О чем я думала? Ладно-б просто баг недоглядела, но чтоб вот так всю логику СВОЮ не понять? Первый раз такое.
И че это значит? Нашло затмение? Я с тех пор поумнела?

Как можно самому себя не понимать? Во, блин...
У мня такое почти каждый день, а код всего месяцев двух от роду
Ну тут либо хреновый код, либо умнеешь слишком быстро...

Re: К чему это?
Добавлено: 03 дек 2009, 07:03
Rai
AlexANB писал(а):Никахих переменных типа "а123" !
Вместо этого всегда что-нибудь вроде "long_Arb_1_Trade_regime". Да, это длиннее, но помогает сильно.
Я предпочитаю названия функций, где сначала идет глагол, а потом -- к чему относится, например:
void Add_Bomb(const float _x, const float _y);
void Update_Bombs(const float _dt);
void Render_Bombs();
//...
void Update_External_Effects(const float _dt);
Про "магические числа" лучше даже не упоминать -- злое зло :)
Re: К чему это?
Добавлено: 03 дек 2009, 10:55
Kate
Комменты хорошо конечно и по класике, но осмысленные имена переменных, процедур, методов и объектов, форматировние имеют большее значение, на мой взляд. Я коменчу каждый метод-процу + нетривиальные блоки, но имена и формат кода важнее. Не - я все понимаю, ну, то есть я свой код, как код понимаю. Я не врубаюсь в логику:) Вот что страшно. Может это раздвоение личности? Может, я в ту минуту была на Каморке?:)
Re: К чему это?
Добавлено: 03 дек 2009, 11:09
aissp
бывало такое раньше когда пьяным писал.
Re: К чему это?
Добавлено: 03 дек 2009, 11:35
Rai
aissp писал(а):бывало такое раньше когда пьяным писал.
Сейчас уже состояние значения не имеет? :)))
Re: К чему это?
Добавлено: 03 дек 2009, 11:38
Rai
Kate писал(а):Комменты хорошо конечно и по класике, но осмысленные имена переменных
Тут простой момент -- я всегда исхожу из того, что с моим кодом, быть может, придется иметь дело другому человеку (и приходилось). Вот на этот случай и разжевываю. И код получается аккуратнее, когда думаешь, что его можешь увидеть не только ты.
Мало ли народу материлось на чужой код, который ну ни фига не понятен, даже при безупречном code style? При более или менее навернутой системе пройдет не один день, пока ниточки распутаешь.
Re: К чему это?
Добавлено: 03 дек 2009, 13:12
CdR
Вменяемые имена для функций/переменных/классов/методов/etc, аккуратное форматирование (казалось бы!?) -- и код будет не просто читабельным, а и понимабельным.
Самый злобный ньюанс, imho, это использование всяческих сокращений, unnamed functions и т.п. В чем выигрыш? Как правило -- только в компактности записи. Но новому человеку читать становится намного сложнее.