Pull to refresh

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

Reading time2 min
Views4.2K
Cлышали ли вы об Open Source проектах, написанных на Java? А интересно ли вам узнать как они работают?



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

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

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

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

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

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

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

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

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

Сайт проекта: http://knowlix.github.io
G+: +CodeInsider
Email: knowlix@outlook.com
Tags:
Hubs:
+9
Comments6

Articles