>>На гвидобейсик пыхеры не переходят. Ибо он мешает им заниматься любимым делом - лабать.
>>Я пишу 4 строчки, а потом думаю, как это сократить до одной, чтобы было понятнее, логичнее и читаемее.
> А теперь скажите об этом вашему работодателю, пусть удивится, чем это вы
> на работе занимаетесь.Воооот. По такому принципу пых пишется. Увидели клёвую функцию, написали, придумали непохожее на другие название и непохожий на других формат аргументов, и пошли дальше, к новой версии, с новыми фичами из python/ruby/javascript. :)
А есть ещё такие вещи, как общая логика (применение должно быть очевидным и не создавать неудобств с подводными камнями), как совместимость с уже существующими данными, как совместимость с уже написанными данными.
Вот показательный пример: http://bolknote.ru/2012/11/21/~3796#04
И именно эти вещи нужно учитывать при разработке. И когда нужно приделать то, что логично приделать, пыхер пишет сравнимую по размеру вещь, и пытается скрестить обе, а тот, кто всё продумал - пишет одну строку, которая решает проблему.
Вот пример: реальный дифф, когда нужно добавить неучтённую функцию - ввод в raw html. Это не "ключевые изменения", это ВООБЩЕ ВСЕ изменения, которые произошли с проектом, и он был перезапулен.
- j.ndb[eid].update(title=rq.title,text=rq.text)
+ j.ndb[eid].update(title=rq.title,text=rq.text,raw=rq.raw)
+ <p><input type="checkbox" name="raw" {{! 'checked="checked"' if frm.raw else ''}} /> raw html</p>
+%if n.raw:
+ {{! n.text }}
+%else:
<p>{{! rend(n.text) }}</p>
+%end
И такому методу предшествовала целая цепочка решений, каждое из которых не нарушало общей логики и целостности. Если бы в своё время было сделано иначе, пришлось бы делать гораздо больше изменений и получать гораздо больше проблем для будущего. Есть некий порог, после которого все изменения делаются небольшими мазками, и отлично вписываются в общую логику. А есть пыхеры, где изменения - это мучение, где изменение в одном месте может сломать что-то в другом, где поддержка - страшное слово, и где используют sql-базы-данных для того, для чего они вообще не предназначены. :)