Одно из немногих эссе / книг, которые повлияли на мою жизнь как человека и инженера-программиста, - Собор и базар Эрика С. Раймонда.
Я изучаю интересные концепции, в основном наблюдая, спустя 7+ лет, и уроки, извлеченные из этой жемчужины книги, все еще находят отклик. Я поделюсь ими здесь в сжатом формате, взятом из этой статьи о книге в Википедии.
На первый взгляд книга представляет собой эссе, в котором сравниваются две модели разработки открытого программного обеспечения: модели Cathedral и Bazaar.
- Модель Cathedral, которая по сути представляет собой модель, в которой исходный код для проектов с открытым исходным кодом предоставляется в каждом выпуске версии, но код, написанный или управляемый между последовательными выпусками, хранится в секрете и доступен только разработчикам. продукта, элитная группа. Примером этого является проект GCC.
- Модель Bazaar, в которой продукт и все остальное разрабатываются через Интернет и на виду у публики. Линус Торвальдс более или менее первым применил этот метод в проекте ядра Linux.
Это две интересные модели, но уроки, которые я извлек из книги, были больше, чем просто модели или кажущиеся причудливыми словами. Как я полагал ранее, эта книга легла в основу моей предрасположенности к вычислениям в целом и программной инженерии в частности.
Итак, вот 10 самых интересных мыслей «для меня». Википедия [в основном участники] были достаточно любезны, чтобы предоставить 19 из них, из которых я не буду использовать 9, потому что я собираюсь охотиться дождевые черви для моей рыбы после этой статьи.
- Каждая хорошая работа над программным обеспечением начинается с того, что у разработчика есть личный зуд. [В чем ваш личный зуд?]
- Хорошие программисты знают, что писать. Великие знают, что переписывать (и использовать повторно). [Olatokunbo Fagbamigbe 😃 см.]
- Планируйте выбросить одну [версию]; ты все равно будешь. [Зайнаб Айелесо, мы ведь никогда их не выбрасываем, не так ли? нет, мы просто оставим их в репозиториях bitbucket и посмеемся над кодом позже 😏]
- Когда вы теряете интерес к программе, ваша последняя обязанность - передать ее компетентному преемнику. [Итак, ребята, Джубрил Эду участвует в большинстве моих побочных проектов]
- Освободить рано. Выпускайте часто . И слушайте своих клиентов.
- Следующее, что лучше всего иметь хорошие идеи, - это узнавать хорошие идеи от ваших пользователей. Иногда лучше последнее. [Вот где это не хватает вашим стартапам MCM. Вам нужно спросить своих пользователей, чего они хотят, а затем построить из этого дерьмо.]
- Совершенство (в дизайне) достигается не тогда, когда больше нечего добавить, а когда больше нечего убирать. (Приписывается Антуану де Сент-Экзюпери)
- Безопасность системы безопасности зависит от ее секрета. Остерегайтесь псевдосекретов. [* боковые глаза, косы *]
- Чтобы решить интересную задачу, начните с поиска интересной для вас проблемы. [Джубрил Эду]
- Часто самые поразительные и новаторские решения приходят из осознания того, что ваше представление о проблеме неверно. [Всегда делайте пару шагов назад и задавайте себе вопросы, даже если вам не нравятся ответы]
Я проглотил собор и базар еще будучи студентом, как я это нашел? Я не помню, но полагаю, что сканирование каждой части сети, на которую я мог размещать интернет-данные, было весьма полезным, в наши дни я мало просматриваю, я обычно зарылся в код.
Я не понимал всего, что читал тогда, но в конце концов оно того стоило. Думаю, однажды я напишу книгу о своих размышлениях о разработке программного обеспечения, это либо взорвется, либо нет.
У книги рейтинг 4,6 из 5, потому что нет ничего идеального, даже совершенство само по себе не идеально, и ничего не существует даже в вакууме.
Вы можете прочитать эссе здесь и здесь и здесь.
Заказать книгу можно здесь.