Описание архитектуры Open Source проектов
От: _netrider_  
Дата: 19.01.17 05:17
Оценка:
Подскажите, пожалуйста, кто какие подходы использует для изучения архитектуры Open Source проектов?
Есть, конечно, замечательная книга — The Architecture of Open Source Applications.
А как быть, если хочется разобраться, например, в архитектуре ClickHouse?
Принято публиковать исходники, но при этом далеко не всегда проект сопровождается архитектурным описанием.
Настоящему профессионалу достаточно исходников, чтобы разобраться в архитектуре?
Re: Описание архитектуры Open Source проектов
От: A13x США  
Дата: 19.01.17 06:41
Оценка:
Здравствуйте, _netrider_, Вы писали:

__>Подскажите, пожалуйста, кто какие подходы использует для изучения архитектуры Open Source проектов?

__>Есть, конечно, замечательная книга — The Architecture of Open Source Applications.
__>А как быть, если хочется разобраться, например, в архитектуре ClickHouse?
__>Принято публиковать исходники, но при этом далеко не всегда проект сопровождается архитектурным описанием.
__>Настоящему профессионалу достаточно исходников, чтобы разобраться в архитектуре?

The Art of Unix Programming — разбираются некоторые ключевые особенности программирования под Unix.

Но если нужно понять архитектуру именно конкретного проекта, то ничего кроме собственно проектной документации не поможет разобраться без чтения кода, без экспериментов с ним и детального изучения ключевых мест.
Такое (отсутствие документации на огромный проект) случается, увы, не только в opensource...
Re[2]: Описание архитектуры Open Source проектов
От: _netrider_  
Дата: 19.01.17 13:00
Оценка:
Здравствуйте, A13x, Вы писали:

A>Такое (отсутствие документации на огромный проект) случается, увы, не только в opensource...


Да, и получается тогда, что все эти UML диаграммы классов, sequence diagrams и прочее — это все из области махрового enterprise, где есть разделение на роли архитектор — программист, на тех кто ставит задачи, пишет спецификации, и на тех, кто потом по этим спецификациям реализует. Для реальных проектов, где автор выдвигает идеи и сам же их реализует, в принципе, достаточно комментариев в коде и, собственно, хорошо написанного кода, хорошо спроектированных классов. Любому внешнему contributor, который будет подключаться к проекту и коммитить свой код также будет достаточно почитать код, чтобы разобраться в проекте.
Отредактировано 19.01.2017 13:02 _netrider_ . Предыдущая версия .
Re: Описание архитектуры Open Source проектов
От: pestis  
Дата: 19.01.17 13:07
Оценка:
Здравствуйте, _netrider_, Вы писали:

__>Настоящему профессионалу достаточно исходников, чтобы разобраться в архитектуре?


Ну да, берешь и читаешь.
Re[3]: Описание архитектуры Open Source проектов
От: pestis  
Дата: 19.01.17 13:12
Оценка: +1
Здравствуйте, _netrider_, Вы писали:

__>Да, и получается тогда, что все эти UML диаграммы классов, sequence diagrams и прочее — это все из области махрового enterprise, где есть разделение на роли архитектор — программист, на тех кто ставит задачи, пишет спецификации, и на тех, кто потом по этим спецификациям реализует.


UML и прочий буллшит был придуман в в начале 90-х когда было четкое деление на программистов и кодеров. Нормальных языков не было, абстракции дизайна были дремучими, а большие проекты все равно нужно было делать. 95% кода представляло собой тупую рутину, адаптивную кодогенерацуию тогда не умели, вот и придумали разделение труда: программисты придумывают, а кодеры кодируют.

__>Для реальных проектов, где автор выдвигает идеи и сам же их реализует, в принципе, достаточно комментариев в коде и, собственно, хорошо написанного кода, хорошо спроектированных классов. Любому внешнему contributor, который будет подключаться к проекту и коммитить свой код также будет достаточно почитать код, чтобы разобраться в проекте.


Недостаточно. Нужно быть в той же культуре что и разработчик. Если ты писал под винду, ты никогда не сможешь нормально контрибутить в линуковый проект и наоборот.
Re[4]: Описание архитектуры Open Source проектов
От: diez_p  
Дата: 25.01.17 10:32
Оценка:
Здравствуйте, pestis, Вы писали:

P>Здравствуйте, _netrider_, Вы писали:


P>UML и прочий буллшит был придуман в в начале 90-х когда было четкое деление на программистов и кодеров. Нормальных языков не было, абстракции дизайна были дремучими, а большие проекты все равно нужно было делать. 95% кода представляло собой тупую рутину, адаптивную кодогенерацуию тогда не умели, вот и придумали разделение труда: программисты придумывают, а кодеры кодируют.


Лучше UML это просто клондайк для объяснения того как работает приложение. Только не надо использовать все сразу с максимальной детализацией. Разумный подход позволяет очень лаконично выразить те или иные тонкости работы.

Схемы только в прямоугольниках иногда раздражают, т.к. не всегда понятно что автор подразумевает под прямоугольником
Re[5]: Описание архитектуры Open Source проектов
От: · Великобритания  
Дата: 25.01.17 11:42
Оценка:
Здравствуйте, diez_p, Вы писали:

P>>UML и прочий буллшит был придуман в в начале 90-х когда было четкое деление на программистов и кодеров. Нормальных языков не было, абстракции дизайна были дремучими, а большие проекты все равно нужно было делать. 95% кода представляло собой тупую рутину, адаптивную кодогенерацуию тогда не умели, вот и придумали разделение труда: программисты придумывают, а кодеры кодируют.

_>Лучше UML это просто клондайк для объяснения того как работает приложение. Только не надо использовать все сразу с максимальной детализацией. Разумный подход позволяет очень лаконично выразить те или иные тонкости работы.
Можно пример? Куча же приложений в интернете... Сколько мне ни доводилось читать доки по всяким системам — UML видеть не доводилось. Вон, взять какого-нибудь монстра, куча схем, диаграмм, и никакого UML. И чем он может помочь?

_>Схемы только в прямоугольниках иногда раздражают, т.к. не всегда понятно что автор подразумевает под прямоугольником

Ещё хуже понимание, когда автор пытается вписать в UML-прямугольник то что он подразумевает.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Описание архитектуры Open Source проектов
От: Anton Batenev Россия https://github.com/abbat
Дата: 26.01.17 22:34
Оценка:
Здравствуйте, _netrider_, Вы писали:

_> А как быть, если хочется разобраться, например, в архитектуре ClickHouse?


Описание архитектуры есть прямо в директории doc в исходниках:
https://github.com/yandex/ClickHouse/blob/master/doc/developers/architecture.md
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.