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

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

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

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

Re: pt. 2

[identity profile] zamotivator.livejournal.com 2009-05-06 09:02 pm (UTC)(link)
всем, кроме языка программирования
Пропустил слово.

[identity profile] golosptic.livejournal.com 2009-05-06 10:03 pm (UTC)(link)
Я уже второго человека из этой дискуссии ставлю себе во френды.
Как же полезны бывают набросы на вентилятор, пусть даже такие беспонтовые :)

Re: pt. 2

[identity profile] gaperton.livejournal.com 2009-05-06 11:08 pm (UTC)(link)
Для таких "контор", как описано, вообще непонятно, зачем "тяжелый" процесс применять. Должен вполне сойти какой-нибудь "скрам".

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

Только это не "продуктовая" компания, и проблема, о которой я говорю, в ней почти не возникает. Код, во-первых, у них слабосвязен и относительно устойчив - и это основное отличительное свойство, его поддерживать легко.
Во-вторых, данные приложения построены в основном на комбинации покупных технологий, своих собственных технологий там нет.
В третьих, они просто меньше, и очень просто устроены и структурированы по сравнению с биржевыми системами системами класса CQG, которым требуется как собственной разработки сервера БД для работы с таймсериями (SQL-сервера в этом классе задач сосут), так и собственные графические фреймворки (графики навороченные рисовать), так и собственные DSL (трейдерские индикаторы и стратегии описывать). Требования к банковскому софту помягче - нет требований рилтайма, не надо уметь работать в отказоустойчивом кластере на сотне серверов, и не требуется собрать котировки со всех бирж по всему миру в единый "фид". Короче, простой он, банковский софт, на самом деле.

Или, скажем, если сравнить с тем же MS Office. Майкрософт, впрочем, предпочитает в случае с офисом просто избавляться от старого кода в новой версии (речь не о Visio с Project - это как раз legacy), и не иметь названных проблем, переписывая его нафиг - средства позволяют. Или, скажем, с сервером компьютерной телефонии или коллцентром.

Но при этом, оратор считает, что он знает все, и люди говорящие о поддержке больших систем - просто ленивы и безалаберны. Даже это понятно - он другого-то софта не видел, кроме банковского, с чем ему сравнивать. Короче, все понятно, что тут телепатировать. :)

Re: pt. 2

[identity profile] zamotivator.livejournal.com 2009-05-06 11:13 pm (UTC)(link)
Мда, Вы предложили неожиданный для меня взгляд.
Я просто сделал две ошибки:
1) повторил его грех "знаю всё" и начал телепатить.
2) предположил, что поскольку Вы работали над long-time-support системы, то Вы, возможно, не знаете как обстоит дела в лавках пишуших "одноразовые приложение". Похоже, Вы это знаете куда лучше меня =)

[identity profile] gaperton.livejournal.com 2009-05-06 11:33 pm (UTC)(link)
>>"1) Как у вас контроллируется, что код соответствует дизайну? Когда это проверяется? Кто на кого дефект открывает?
>в процессе тестирования контроллируется,"

В процессе тестирования контроллируется функциональность, соответствие дизайна коду в процессе тестирования никак проверить нельзя. Может быть, вы что-то необычное понимаете под дизайном?

>"может тест кейсы вы тоже без документов пишете?"
Может, и так? Может, тест-кейсы можно хранить не в документах, а в записях в базе данных? Может, эта база - единый трекер дефектов и фич?

>>2) Вот у вас этот код, созданный по дизайн-документу попал в тестирование, и его автору пошли дефекты. "Кодер" каждый раз будет багу открывать, чтобы вы документ поправили, если исправление касается дизайна? А если он этого не сделает (а он не сделает) - как вы это проверите?
> тест кейс создаётся на основании дизайна,

Правда? А может, тест-кейс все-таки, как у всех людей, создается на основании требований? Что вы вообще "дизайном" называете? Вы по какой-такой методологии работаете? Название в студию, плиз.

> Если у кодера есть притензии к дизайну - открывает дефекты или, как это нередко бывает, сам меняет, потому что сам его и писал.

Вопрос остается открыт. Что заставит его отразить изменение в документе? А если он этого не сделает (а он не сделает) - как вы это проверите?

Это "дыра" в вашем процессе, приводящая к расхождению дизайна и кода. Вторая "дыра".

вы просто скажите в каких методологиях вы работали?
А то я вижу у вас вся карьера в фирмах до 50 работников, может вы и правда не знаете что такое методология и зачем она нужна.

>>3) Вот у вас этот код попал в эксплуатацию, и через год пришли дефекты, исправление которых >>требует изменения дизайна. Опишите подробно процедуру, которая гарантирует отражение этой правки >>в документе. Для исправлений дефектов и реализации фичреквестов вы тоже дизайн-документы писать >>будете, да? И открывать дефекты на эти документы?
>Зависит от методологии.

Вы по какой методологии работаете?

>Если система сделано по дизайну, то это не дефекты а чендж реквесты. Если в рамках поддержки оказалось что в дизайне проблемы - естественно исправлять дизайн, он должен соответствовать системе.

Вопрос не снят. Опишите подробно процедуру, которая гарантирует отражение этой правки >>в документе. Где у вас описание процедуры? Нету.

> а вы работали на проекте где разработка закончена 10 лет назад?
Я уже рассказывал, в каком проекте я работал.

> вы просто скажите в каких методологиях вы работали?
Просто говорю. PSP/TSP (эта штука конформна CMMI Level 5), и Feature Drivem Development (к этому процессу очень близок подход CQG, он работает для больших команд из сотен людей, и отлично работает для банковского софта тоже). Еще - по ГОСТ-ам, 19-й программерский, и 24-й ралиоэлектронный. Не считая военного радиоэлектронного, номер забыл, но они походи. А ВЫ по каким "методологиям" работали?

> А то я вижу у вас вся карьера в фирмах до 50 работников, может вы и правда не знаете что такое методология и зачем она нужна. В таких маленьких фирмах она естественно не нужна, лишняя перегрузка. Ну разве что методология экстремального программирования.

Все надеетесь найти мне повод сказать, что я что-то важного не понимаю? :) А ВЫ в каких фирмах работали?

Re: pt. 2

[identity profile] gaperton.livejournal.com 2009-05-07 12:03 am (UTC)(link)
> Да вы крутой, и проекты у вас самые крутые в мире (аж с 10 миллионами строк, гыгыгыгыгы :), спорить не буду.

Не самые крутые, есть и "покруче" и посерьезнее. Это, вообще _мелкий_ проект, не идущий ни в какое сравнение, например, с микроэлектронными САПР. Хотя, превосходит по сложности MS SQL, и таки да, достаточно серьезный. В чем проблема-то у вас? Хочется в лени и безалаберности кого-то пообвинять, да не выходит? Или что еще?

> пиписьками хотите померяться?

Боже упаси. Да нафига мне это надо. Я вам отвечаю на ваши "обвинения" в лени и бардаке, не более чем. Вот на это:
"такой подход может быть лишь как оправдание банальной лени и неорганизованности, и ведёт к полному бардаку."

[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] migmit.vox.com (from livejournal.com) 2009-05-16 03:28 pm (UTC)(link)
(задумчиво) Может, мне к вам резюме послать?

[identity profile] golosptic.livejournal.com 2009-05-16 04:17 pm (UTC)(link)
присылайте felix@sudo.su

[identity profile] migmit.vox.com (from livejournal.com) 2009-05-16 04:35 pm (UTC)(link)
Боюсь, территориальные различия не позволят, вы, как я понимаю, в дефолт-сити, а я в Питере.

[identity profile] golosptic.livejournal.com 2009-05-16 05:03 pm (UTC)(link)
Эмм... ну удалённых разработчиков вот прям сейчас мы действительно не набираем.
Однако же, ситуация может измениться, так что лишний раз отослать резюме может оказаться и небесполезным.

[identity profile] insolite.livejournal.com 2010-01-03 12:59 pm (UTC)(link)
Влад, ну и клоун ты здесь. Стыдно должно быть.

[identity profile] gaperton.livejournal.com 2010-01-15 12:22 am (UTC)(link)
Ты называешь меня по имени, претендуя на то, что со мной знаком. Хотя мне твой ник неизвестен. Обращаясь ко мне с хамской фразой _публично_, при этом ты не удосужился представится.

Нормальному человеку на твоем месте действительно должно быть стыдно. Но мне на сетевых анонимов, не умеющих себя вести, абсолютно похуй - стыдно им, не не стыдно, какая разница. В своем журнале, к примеру, я их просто тихо баню. И пусть это проиндексирует гугл, и занесет в аналлы, ага.

[identity profile] insolite.livejournal.com 2015-04-04 10:38 am (UTC)(link)
Гугл занес в анналы, ага. Наверное, обидно оставить такую вопиющую демонстрацию комплексов.

[identity profile] gaperton.livejournal.com 2015-04-05 04:36 pm (UTC)(link)
А "без комплексов" это как - сразу нахуй послать, да? :) Это я могу. Как же отказать, когда так настойчиво просят.
Edited 2015-04-05 16:50 (UTC)

Page 5 of 5