metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-05-03 04:08 pm

Программистское мракобесие

Я почему-то думал, что когда 10 лет толпой людей разрабатывают сложные системы, там не делают так, как я - держа все знания по проекту только в виде кратких текстовых набросок по поводу архитектуры, часть информации в голове(чтобы можно было проектировать в уме в любое время), и основную часть - в виде структуры проектов и кода в системе контроля версий.

А вот оказывается, что так и делают:
К этому моменту я выкинул все свои диаграммы классов, за ненадобностью – зачем на них смотреть, если они давно уже в голове?

[identity profile] volodymir-k.livejournal.com 2009-05-03 11:15 pm (UTC)(link)
> Все равно от нее ничего не останется после пары лет поддержки. Твою изначальную идею изменят еще десять раз, исправляя дефекты и докручивая фичи.

Микрософт пишет довольно сложные программы. ОС там несколько штук, наборы приложений, офисные пакеты, сервера... Вот интересно, почему у них и дока есть, и актуальная, и программами миллионы пользуются? Магия, не иначе. И даже слухи есть, что некоторые программы даже заранее планируют и описывают интерфейсы! Волшебство, не правда ли?

[identity profile] gaperton.livejournal.com 2009-05-03 11:25 pm (UTC)(link)
Ты понимаешь разницу между пользовательской документацией и проектной? Или для тебя это одно и то же? Когда обратишь внимание на эту разницу, волшебства вдруг не станет.

Ты видел их внутреннюю, проектную документацию? Ну конечно не видел, откуда тебе. А вот знакомые из группы MS SQL мне говорили, что у них при переписывании MS SQL c 6.5 на 7.0 не было даже спецификации. Вместо нее был сам 6.5. Волшебство, не правда-ли?

[identity profile] dragon-j.livejournal.com 2009-05-04 04:18 pm (UTC)(link)
> Ты понимаешь разницу между пользовательской документацией и проектной?

для некоторых систем этой разницы нет

[identity profile] volodymir-k.livejournal.com 2009-05-05 11:23 pm (UTC)(link)
> Ты видел их внутреннюю, проектную документацию? Ну конечно не видел, откуда тебе.

1. Давайте на "Вы".
2. Я говорю про MSDN. Очень сомневаюсь, что его пишут после программеров отдельные писатели, анализируя код. Таки писателей в общем-то не найти.
3. О подобной проектной документации есть описания.

[identity profile] gaperton.livejournal.com 2009-05-03 11:48 pm (UTC)(link)
Кроме того, хочу обратить твое внимание на маленькую деталь. Я говорю о продукте на этапе поддержки и развития, когда ему уже лет 5. И о проблемах поддержания документации в актуальном состоянии. Сложно этого не заметить, цитируя фразу
> Все равно от нее ничего не останется после пары лет поддержки.
Или если очень хочется, то можно?

[identity profile] volodymir-k.livejournal.com 2009-05-10 05:09 pm (UTC)(link)
А ты в курсе, что микрософтовские оси и продукты немного постарше будут? Что новые обычно поддерживают старые интерфейсы? Ты почитай что-нибудь про WinXP, википедию хотя бы. Книжку купи какую-нибудь. Узнаешь, что кроме оси, у них офис и сервера уже лет 15 как развиваются. И они их документируют. Разговоры "какой-то друг-уборщик из микрософт сказал, что у них нету" это конечно пять.

Я тут тебе ещё нашёл ссылки про микрософт:
http://msdn.microsoft.com/en-us/library/ms978007.aspx
http://msdn.microsoft.com/en-us/architecture/bb469938.aspx
Английский-то хоть знаешь, не надо переводить?



(Имитирую patronizing style. Не нравится небось, а? А не надо было использовать -- я мог бы нормально поговорить.)

[identity profile] gaperton.livejournal.com 2009-05-10 06:20 pm (UTC)(link)
(Имитирую patronizing style. Не нравится небось, а? А не надо было использовать -- я мог бы нормально поговорить.)

То, как ты отвечаешь - мне с самого начала не понравилось. А сейчас - ты ничего не "имитируешь", ты просто хамишь. Нормальному человеку не надо поводов, чтобы нормально поговорить. Если бы ты в принципе мог что-нибудь сказать по существу - ты бы давно сказал, не кривляясь и прикрываясь тем, что ты что-то не "имитируешь".

[identity profile] volodymir-k.livejournal.com 2009-05-15 11:52 pm (UTC)(link)
Я привёл пример технической документации МС. Я показал ссылки на процесс дизайна и архитектуры в МС. Что я увидел в ответ? Гнутые пальцы, хамство и общие философские рассуждения. "Мы живы, и это доказывает, что иначе жить невозможно." Маловато будет.

Ваш взгляд на чтение кода подходит:
1. В случае очень компетентных и дорогих программистов
2. Бешеной смены кода под заказчика-финансиста-трейдера
3. Очень узкой математизированной предметной области.
Да, в ЭТОМ случае действительно выгоднее не документировать.

В остальных случаях получится очередной Нетскейп Навигатор. Там тоже пионеры пальцы гнули-гнули, а потом само всё загнило. Сколько в Мозилле от НН? Процентов 5 есть?

У Вас мне непонятно, что раньше будет -- загниёт код или контора развалится. Думаю, всё-таки код. Выбросите и перепишете на каком-нибудь Хаскелле или что там модно будет.

[identity profile] gaperton.livejournal.com 2009-05-16 09:00 am (UTC)(link)
> Я привёл пример технической документации МС.

Вы в обсуждении, касающеся внутренней документации по коду, привели пример внешней документации МС по публичному API.

> Ваш взгляд на чтение кода подходит:

http://linorg.ru/how-to-read.html

[identity profile] metaclass.livejournal.com 2009-05-04 04:30 am (UTC)(link)
Микрософт может себе это позволить, я думаю, у них система допиливается в реалтайме только для особо важных клиентов, а до этого никто никуда не спешит в стиле "некогда документировать - код писать надо" :)

[identity profile] volodymir-k.livejournal.com 2009-05-05 11:27 pm (UTC)(link)
> а до этого никто никуда не спешит в стиле "некогда документировать - код писать надо"

"Писать код" в общем-то никогда не надо. Есть проблемы нервов у исполнителей, есть проблемы мозга у бизнеса, бывают проблемы простого неумения и незнания, "как делается документация". Но вообще писать программы срочно очень редко бывает реально надо.

[identity profile] metaclass.livejournal.com 2009-05-06 06:01 am (UTC)(link)
У меня периодически бывает, что "срочно надо писать". Но это особенности клиентов, которые могут за пару дней до сдачи налоговой декларации прислать ее новую форму, да и вообще бардака местного, когда по самой сути нормальная организация труда означает удорожание проекта в несколько раз, после чего он становится никому не нужен.