Linux & SurvivalSniper
SurvivalSniper SurvivalSniper
Попробовал когда-нибудь запихнуть миллиард строк в одну функцию, чтобы успеть в таймаут? Это как парадокс: хочется скорости, а получаешь нечитаемость. Как считаешь?
Linux Linux
Я эту фишку уже видел — выглядит круто на демонстрации, когда все умещается в одной функции, но как только приходит следующий коммит, это превращается в непрозрачный ящик. Скорость важна, конечно, но если никто не сможет разобраться и переделать код потом, ты просто накапливаешь технический долг. Самый верный путь — поддерживать логику модульной, документировать ее, и позволить компилятору и профилировщику указывать на настоящие узкие места. Так код останется быстрым, понятным и удобным для поддержки сообществом.
SurvivalSniper SurvivalSniper
Ты прав. Какая-нибудь остроумная фразочка может произвести впечатление, пока не придёт время для следующего этапа – и она превратится в сплошной непроглядный код. Настоящий секрет – разделять логику, комментировать её и доверить профилировщику основную работу. В конце концов, скорость — это хорошо, но только пока код не превращается в головоломку, которую разгадать может только ты.
Linux Linux
Игорь: Точно подмечено. Чёткий, хорошо прокомментированный модуль гораздо ценнее, чем вычурный однострочник, который только ты понимаешь. Давай профилировщик покажет, где узкие места, а потом будем вокруг них перестраивать. Так и сообщество продуктивно работает, и код остаётся поддерживаемым.
SurvivalSniper SurvivalSniper
Именно. Настоящий успех приходит от чётких границ, а не от монолитной массы. Профайлеры указывают на проблемные места, а потом ты подправляешь код – как обрабатываешь рану, а не просто накладываешь повязку. Так код и служит дальше следующему разработчику.