LINUX.ORG.RU

История изменений

Исправление gh0stwizard, (текущая версия) :

Когда в СПЕЦИФИКАЦИИ больше пары сотен страниц, ее перестают читать даже ведущие разработчики, уже на первой сотне становится понятно, что ты читаешь bullshit.

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

Может тут еще играет менталитет, т.к. я заметил, что запад (и восточная азия) стремится минимизировать времязатраты на разработку кода, в то время как другие пытаются минимизировать время на разработку спецификаций. К слову, спецификацию писать проще, потому что она похожа на книгу о фэнтези: выдумываешь, выдумываешь и выдумываешь. А код просто так не выдумаешь, ибо тут у нас ограничения по CPU, тут по ОЗУ, тут еще сетевой стек кривой и не наш, а тут файловая система не обновлена и т.п. Масса ограничений, масса вопросов, которые надо решать. Но все эти технические вопросы быстро решаются, когда есть опыт.

Из этого делаю следующий вывод: лучшая спецификация - это сама система. Применительно к языкам, «язык программирования» - это то, что умеет собирать мой компилятор.

Назови ЯП у которых есть спеки и у которых нет (ответ). Вот автор Erlang призновался (книга с интервью разработчиков ЯП), что ему трудно было написать спецификацию к языку. И что в итоге? В итоге, C это mainstream-язык, потому что есть стандарт.

Кстати, в US, в отличие от СНГ, просто так писать код на ЯП без стандартов в ряде случаев нельзя: для гос. структур, для военных нужд и т.д. Скажешь бюрократия? Нет, все логично, потому что когда наступит момент выяснения ответа на вопрос «кто виноват» спецификация ответит на 95% этого вопроса. Ответ будет скорей всего: разработчик. Не потому что плохо пишет код, или у него синдром архитектуры, а потому что он проглядел спецификацию.

Лучше всего для специфицирования использовать ТЕСТЫ, написанные на языке программирования. Создание нового теста можно считать внесением нового требования в спеку, тз, anything.

От спецификации вреда никогда не будет, если за спецификацией следить и исправлять.

Исходная версия gh0stwizard, :

Когда в СПЕЦИФИКАЦИИ больше пары сотен страниц, ее перестают читать даже ведущие разработчики, уже на первой сотне становится понятно, что ты читаешь bullshit.

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

Может тут еще играет менталитет, т.к. я заметил, что запад (и восточная азия) стремится минимизировать времязатраты на разработку кода, в то время как другие пытаются минимизировать время на разработку спецификаций. К слову, спецификацию писать проще, потому что она похожа на книгу о фэнтези: выдумываешь, выдумываешь и выдумываешь. А код просто так не выдумаешь, ибо тут у нас ограничения по CPU, тут по ОЗУ, тут еще сетевой стек кривой и не наш, а тут файловая система не обновлена и т.п. Масса ограничений, масса вопросов, которые надо решать. Но все эти технические вопросы быстро решаются, когда есть опыт.

Из этого делаю следующий вывод: лучшая спецификация - это сама система. Применительно к языкам, «язык программирования» - это то, что умеет собирать мой компилятор.

Назови ЯП у которых есть спеки и у которых нет. Вот автор Erlang призновался (книга с интервью разработчиков ЯП), что ему трудно было написать спецификацию к языку. И что в итоге? В итоге, C это mainstream-язык, потому что есть стандарт.

Кстати, в US, в отличие от СНГ, просто так писать код на ЯП без стандартов в ряде случаев нельзя: для гос. структур, для военных нужд и т.д. Скажешь бюрократия? Нет, все логично, потому что когда наступит момент выяснения ответа на вопрос «кто виноват» спецификация ответит на 95% этого вопроса. Ответ будет скорей всего: разработчик. Не потому что плохо пишет код, или у него синдром архитектуры, а потому что он проглядел спецификацию.

Лучше всего для специфицирования использовать ТЕСТЫ, написанные на языке программирования. Создание нового теста можно считать внесением нового требования в спеку, тз, anything.

От спецификации вреда никогда не будет, если за спецификацией следить и исправлять.