How it’s made для программистов. Серия №2

в 12:59, , рубрики: code review, java, mockito, netty, open source, spring, блог, Программирование, Совершенный код, метки: , , , , , ,

Слышали ли вы о Queuepy? А слышали ли вы об Open Source проектах, написанных на Java? А интересно ли вам узнать как они работают?

How its made для программистов. Серия №2

Если ваш ответ на последние два вопроса положителен, то неважно, слышали или нет вы о Queuepy до сих пор. Далее нам по пути.

Queuepy появился всего пару месяцев назад. Сейчас на Queuepy выходит 3 вида материалов:

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

На данный момент на Queuepy вышел один полный цикл статей, посвященный Mockito. Из интересного:

  • в недрах Mockito используется CGLib для создания proxy объектов, на основе которых строятся моки и стабы.
  • Проект ведет программист, который сейчас работает над проектом Gradle. Сам же проект пока на Ant’е, но постепенно переходит на Gradle.
  • Внутри организована событийная модель для уведомления некоторых компонент (например, логирование).
  • Проект имеет обратную совместимость, из-за чего код содержит несколько устаревших артефактов, которые захламляют его.
  • Сильно используется java reflection. Хотя, в некоторых местах используется Objenesis для порождения объектов.
  • В недрах библиотеки используется код, позаимствованный из JMock.

Есть пара прицельных обзоров о Spring DI. Так получилось, что первый, весьма поверхносный обзор вызвал несколько попутных вопросов-уточнений, что вылелось в несколько прицельных обзоров.

Совсем недавно начался новый цикл статей, посвященный Netty. Очень интересный проект с весьма приличным кодом. Сейчас в проекте разрабатывается две параллельные ветки проекта — 3 и 4. В четвертой ветке структура проекта изменилась, изменился подход к использованию Netty. Планируется сравнение этих двух версий и, в конечном счете, станет понятно в какую сторону движется проект.

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

Контакты проекта

Сайт проекта: http://queuepy.com
Twitter: @Queuepy
G+: +Queuepy
Email: support@queuepy.com

Автор: knowlix


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js