спринга?
Имею ввиду не заучивание всей кодовой базы, а разбор отдельных моментов которые вызывают вопросы
не знаю, что ты там сможешь по сорцам понять, лучше просто родные доки прочитать
https://t.me/javastart
Читаю сорцы и вижу что и как работает под капотом
доков достаточно обычно, даже с ними можно заебаться
В целях дебага или root cause анализа какого нить загадочного поведения - да. А так - того не стоит.
Научишься плохому, лучше не надо)
Камень в огород качества кода в исходниках спринга?)
Мне один раз на ревью принесли говнокод.. я возмутился, но мне показали, что сделали по аналогии со спрингом)
Стоит, если интересно. Если неинтересно, то не стоит
Ну то что является говнокодом в прикладном коде, может быть очень тщательно продуманным решением когда речь идёт о common-библиотеке. Вообще мне кажется для начинающих читать сорцы таких библиотек скорее вредно, там куча очень плохих практик сделанных ради перфоманса и обратной совместимости
Глупости. Нормальный программист поймёт, что к чему. Просто узнает как решаются сложные проблемы. Ну и далеко не везде в библиотеках сложный код
Речь вроде изначально шла о начинающих. Про то что в библиотеках везде сложный код я и не говорил, как говорится не путайте квантор существования с квантором всеобщности. В низкоуровневых библиотеках всякие хаки, работа с ансейфами и прочее. Да банально, в библиотеке с большой вероятностью будет что-то вроде `f(T arg1) f(T arg1, T arg2) ... f(T arg1, T arg2, T arg3, .... T arg100500) ` с кучей полугенеренных накопипащенных реализаций. Это вот по моему ты или Шипилёв рассказывали про красную зону оптимизации Тащить такое начинающему программисту в проект - ну так себе идея, если не понимать зачем это сделано.
Не видел нигде новичков, которые тащат примеры из либ, скорее копипаст из статей и со стековерфлоу
Там выше кто-то рассказывал про "это не говнокод, так сделано в спринге, поэтому мы так же сделали у себя" - сам по себе этот аргумент слабоват. Вот я о чем.
ну это шиза уже да
Ну вот можно обобщить, и с этим я буду согласен: Писать любой код в своём проекте, не понимая, что он делает и зачем, неправильно. А если понимаешь, почему бы и нет.
Если есть время и любопытство почему бы нет, но в исходниках ванильного спринга нет ничего интересного и почти все хорошо задокументировано. Другое дело подпроекты спринга, иногда можно сэкономить время просто посмотрев в исходники Лучше почитайте j.u.c - forkjoin pool, conc. примитвы, зацените фирменный стиль Дага Ли 😄
Обсуждают сегодня