Подтвердить что ты не робот

Примеры отличного дизайна и реализации программного обеспечения

Надеюсь, это не дубликат...

Какова наиболее прочная и внедренная программная система/фреймворк/приложение, с которыми вы столкнулись?

Похоже, что TDD, SOLID принципы, шаблоны проектирования OO и тому подобное могут быть легко теоретизированы в подкастах и ​​блогах с использованием действительно простых примеров, но трудно представить, как разрабатывать большие системы, которые полностью соответствуют этим стандартам, без взрыв кода. В моей компании выполнение полного TDD почти не может быть связано с ограничениями времени.

Если кто-нибудь может указать мне на любые хорошие проекты с открытым исходным кодом, мне бы очень хотелось вскочить и посмотреть, какой хороший TDD/SOLID/etc. выглядит как. Спасибо.

4b9b3361

Ответ 1

Программное обеспечение Space Shuttle?

Они пишут правильные вещи

Но сколько работы делает программное обеспечение не то, что делает его замечательным. Какие делает замечательным то, насколько хорошо программное обеспечение работает. Это программное обеспечение никогда сбои. Это никогда не должно быть перезагружать. Это программное обеспечение без ошибок. Он совершенен, настолько совершенен, как человеческий существа достигли. Рассмотрим эти stats: последние три версии программа - каждая 420 000 строк - была всего одна ошибка. Последние 11 версии этого программного обеспечения имели из 17 ошибок. Коммерческие программы эквивалентная сложность имела бы 5000 ошибки.

Ответ 2

TeX?

Кнут все еще предлагает вознаграждение за подтвержденные ошибки.


BTW: Я не уверен, что Кнут соглашается с любым механизмом модного слова, чтобы сделать действительно надежное развитие. Не знаю, как он это делает. Может быть, просто внимание к деталям.

Ответ 3

.NET Framework.

  • Это здорово, когда я "вставляю" пространство имен, и его члены - именно то, что я ожидал бы.
  • Это "просто работает".

Ответ 4

Библиотека Boost

Ответ 5

Многие из других сообщений упоминают программы, которые не были реализованы с помощью TDD, и, как таковые, не дают ответа на вопрос "Я действительно хотел бы заглянуть и посмотреть, как выглядит хороший TDD/SOLID/и т.д." Например, я вполне уверен, что источники Apache HTTPD Server и Firefox никогда не видели TDD. Я только немного просмотрел их источники, и в тестовых папках было всего несколько небольших файлов, и производственный код не выглядел так, как будто он был написан с помощью TDD или с помощью SOLID.

Например, Fitnesse был написан с использованием TDD изобретателем SOLID. Это должно быть хорошей ссылкой на то, как выглядит такой код, особенно более новые части кода (в его книге Clean Code дядя Боб некоторые примеры плохого кода из Fitnesse, который он затем очищает, поэтому необязательно весь код в Fitnesse чист).

Я также добавлю свой собственный проект Сервер приложений Dimdwarf, который был написан на 100% с помощью TDD/BDD и пытается написать как чистый код, насколько это возможно (после SOLID и т.д.). Там также есть некоторые уродливые части (в основном, при планировании задач и сборе мусора), но эти части все еще находятся на работе, и они будут очищены к моменту завершения этих функций.

Ответ 6

Google Chrome

Ответ 7

Firefox 2.0

  • Простой интерфейс
  • Надежная функциональность
  • Очень стабильный

Ответ 8

Apache httpd.

  • Очистить
  • Простой
  • Functional

Также: Graphviz - потрясающий пример мощности, согласованности и простоты.

Лучший фрагмент кода, который я когда-либо видел, - это правильность; он работал в истинной элегантности и красоте. Но, к сожалению, он должен оставаться анонимным.

BTW. Любой огромный интерфейс /api, который может быть упрощен, по определению не прочно разработан. И для многих компаний большие уродливые интерфейсы получают только больше и уродливее.

Павел.