170 похожих чатов

Стоит ли вайтишнику тратить время на изучение сорцов того же

спринга?
Имею ввиду не заучивание всей кодовой базы, а разбор отдельных моментов которые вызывают вопросы

19 ответов

11 просмотров

не знаю, что ты там сможешь по сорцам понять, лучше просто родные доки прочитать

https://t.me/javastart

Кирилл- Автор вопроса
evergood
не знаю, что ты там сможешь по сорцам понять, лучш...

Читаю сорцы и вижу что и как работает под капотом

Кирилл
Читаю сорцы и вижу что и как работает под капотом

доков достаточно обычно, даже с ними можно заебаться

В целях дебага или root cause анализа какого нить загадочного поведения - да. А так - того не стоит.

Кирилл- Автор вопроса
Ivan
Научишься плохому, лучше не надо)

Камень в огород качества кода в исходниках спринга?)

Кирилл
Камень в огород качества кода в исходниках спринга...

Мне один раз на ревью принесли говнокод.. я возмутился, но мне показали, что сделали по аналогии со спрингом)

Стоит, если интересно. Если неинтересно, то не стоит

Ivan
Мне один раз на ревью принесли говнокод.. я возмут...

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

Alex
Ну то что является говнокодом в прикладном коде, м...

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

Tagir Valeev
Глупости. Нормальный программист поймёт, что к чем...

Речь вроде изначально шла о начинающих. Про то что в библиотеках везде сложный код я и не говорил, как говорится не путайте квантор существования с квантором всеобщности. В низкоуровневых библиотеках всякие хаки, работа с ансейфами и прочее. Да банально, в библиотеке с большой вероятностью будет что-то вроде `f(T arg1) f(T arg1, T arg2) ... f(T arg1, T arg2, T arg3, .... T arg100500) ` с кучей полугенеренных накопипащенных реализаций. Это вот по моему ты или Шипилёв рассказывали про красную зону оптимизации Тащить такое начинающему программисту в проект - ну так себе идея, если не понимать зачем это сделано.

Alex
Речь вроде изначально шла о начинающих. Про то чт...

Не видел нигде новичков, которые тащат примеры из либ, скорее копипаст из статей и со стековерфлоу

Арег Coder
Не видел нигде новичков, которые тащат примеры из ...

Там выше кто-то рассказывал про "это не говнокод, так сделано в спринге, поэтому мы так же сделали у себя" - сам по себе этот аргумент слабоват. Вот я о чем.

Alex
Речь вроде изначально шла о начинающих. Про то чт...

Ну вот можно обобщить, и с этим я буду согласен: Писать любой код в своём проекте, не понимая, что он делает и зачем, неправильно. А если понимаешь, почему бы и нет.

Если есть время и любопытство почему бы нет, но в исходниках ванильного спринга нет ничего интересного и почти все хорошо задокументировано. Другое дело подпроекты спринга, иногда можно сэкономить время просто посмотрев в исходники Лучше почитайте j.u.c - forkjoin pool, conc. примитвы, зацените фирменный стиль Дага Ли 😄

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта