TGViewer
Книжный куб Книжный куб @book_cube · 15.8K subscribers
Post #1130 1.55K
Анализ программного кода на примере проектов Open Source (Code Reading. The Open Source Perspective)

Эта книга 2004 года выпуска за авторством Диомидиса Спинеллиса появилась у меня в 2005 году, когда я только начинал знакомиться с промышленной разработкой и тогда она показалась мне интересной. Концепт автора был в том, чтобы познакомить разработчиков с основными концепциями разработки на примерах из крупных open source проектов того времени. Для этого к книге прыл приложен CD диск с кодом тех open source систем, что разбирал автор в своей книге. С учетом того, что Github появился только в 2008 этот подход был достаточно здравым:)
Примеры в книге были преимущественно сфокусированы вокруг языков: C, C++ и Java. А сама книга состояла из следующих частей
- Предисловие - в предисловии речь идет о том, что код нам приходится читать чаще, чем писать его, поэтому есть смысл прокачать этот навык
- Общие сведения - здесь автор говорит более подробно о том, зачем нам учиться читать код и как это можно сделать с помощью этой книги
- Основные элементы программ - здесь приводится пример программы целиком, функции и глобальные переменные, циклы, условия, символьные и логические выражения, оператор goto
- Сложные типы данных в языке C - здесь идет речь про указатели, структуры, объединения и динамическое управление памятью
- Структуры данных в C - здесь автор показывает как в C сделать векторы, таблицы, стеки, очереди и так далее
- Сложные средства управления программами - здесь идет речь про рекурсию, исключения, параллелизм, сигналы и макроподстановки
- Анализ больших проектов - здесь автор размышляет про то, как изучать большие проекты: из каких логических блоков он состоит, как он собирается, как конфигурируется, как выглядит управление версиями и как устроено тестирование
- Стандарты стиля программирования - здесь обсуждаются вопросы, которые сейчас принято решать настройкой линтеров
- Документация - здесь идет речь про важность документации и как ее писать и читать
- Архитектура - здесь автор говорит про архитектурные стили, модели управления потоком исполнения (событийно-ориентированные, архитектры с наличием диспетчера, конечные автоматы), группировку кода (модули, пространства имен, библиотеки и так далее)
- Вспомогательные программные средства - темы из этого раздела сейчас закрываются хорошей IDE
- Практический пример - а здесь приведен сквозной пример про добавление в базу данных hqsqldb новой функции даты/времени PHASEOFMOON, которая будет вычислять фазу Луны по заданной дате:)

В итоге, книга в свое время была хорошей практической книгой для студентов, что только входили в мир разработки софта и могли посмотреть как на практике применяются многие изучаемые ими концепции. А вот в текущий момент она совсем потеряла актуальность - вы с легкостью можете зайти на Github и найти все, что потребуется. Но в то же время сама структура книги и подача материала мне кажется актуальной до сих пор и я бы не отказался почитать новое издание, в котором все примеры актуализированы и учтены новинки за последние 20 лет:)

#Software #SoftwareDevelopment
  • 👍 6
  • 🔥 4
More from @book_cube
  1. Sep 26, 2026Добрались с сыном на прощальный матч Вагнера Лава. Так много давно знакомых имен, элемент…
  2. Sep 26, 2026System Design Space: задачи, эксперименты и проверка знаний (Рубрика #SystemDesign) В июле…
  3. Sep 26, 2026Материалы выпуска: чему заново учится CTO в новой отрасли — разговор с Фёдором Сухаревым (…
  4. Sep 26, 2026Anthropic: три сценария экономики с AI до 2030 года (Рубрика #AI) Прогнозы влияния AI на э…
  5. Sep 25, 2026Материалы выпуска Research Insights Made Simple #31: AI4SDLC — что бы я делал по-другому (…
  6. Sep 25, 2026AI меняет разработку. Что теперь важно инженеру? (Рубрика #Engineering) Выступил сегодня н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →