avva: (Default)
[personal profile] avva
Прочитайте вот это, коллеги.

Там - Горькая Правда.

A lesson I have learned the hard way is that we aren’t smart enough. Even the most brilliant programmers routinely make stupid mistakes. Not just typos, but basic design errors that back the code into a corner, and in retrospect should have been obvious. The human mind can not grasp the complexity of a moderately sized program, much less the monster systems we build today. This is a bitter pill to swallow, because programming attracts and rewards the intelligent, and its culture encourages intellectual arrogance.


(но стоит прочитать полностью)

Date: 2007-08-03 11:43 am (UTC)
From: [identity profile] plakhov.livejournal.com
Это только начало.

Потом выясняется, что в похожих ситуациях мы вынуждены писать одно и то же. Почти copy-paste (а иногда и не "почти"). Досадно, но оказывается, что таких ситуаций примерно миллион.

Чтобы писать такие места быстрее и с меньшим числом опечаток, мы объединяем часто встречающиеся последовательности и выносим общую функциональность в отдельные сущности (функции, классы, макросы, шаблоны, generic'и, или даже тьфу-тьфу не дай бог аспекты).

И тут выясняется, что каждый такой конструкт первого порядка хочется потом fine-тюнить. Потому что вот в этом интерфейсе теперь надо показывать пункты не выпадающим списком, а плоским. А вот эта надпись должна быть полупрозрачной. Что значит "нельзя"? Какая-такая "архитектура"?

Появляется некоторый язык настройки этих сущностей второго рода. Аггрегация вместо наследования, декораторы, общие интерфейсы вместо общего предка.

Тут в проект приходит новый программист, и...

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 01:52 pm
Powered by Dreamwidth Studios