Про читабельный код 1/2
10 лет назад, когда Я участвовал в краевых олимпиадах по программированию, Я подобрал одну цитату у одного из тренеров, которой люблю щеголять по сей день:
Писать код, который поймёт машина – может любой дурак.
Писать код, который поймёт другой человек – вот это искусство.
В конце концов, код – это не только инструмент, заставляющий биты и байты работать на нас, это в том числе средство коммуникации. Это тоже часть продукта, у которого есть свои пользователи (нынешние и будущие коллеги), которым хорошо бы при необходимости за минимальное время разобраться в том, что вы написали, и внести соответствующие коррективы.
Я человек ленивый, поэтому сейчас, когда Мне что-то надо быстро дописать или поправить, Я в первую очередь пробую копи-пастнуть весь файл в GPT-4, сказать, сделать – и получить желаемое изменение в нужном месте. Иногда, требующее косметических доработок. Годы прошли и теперь нам опять важнее, чтобы наш код понимала машина. Но у этой машины есть одно маленькое ограничение: длина контекста.
Поэтому Я официально ввожу новый паттерн хорошего кода: Размер любого файла в проекте не должен превышать 4096 токенов. По Моим прикидкам, это ~300 строк на Python.
P.S. К слову, это вполне внятный критерий, по которому можно определить в какой момент ту или иную сложную логику инкапсулировать в отдельные объекты.
10 лет назад, когда Я участвовал в краевых олимпиадах по программированию, Я подобрал одну цитату у одного из тренеров, которой люблю щеголять по сей день:
Писать код, который поймёт машина – может любой дурак.
Писать код, который поймёт другой человек – вот это искусство.
В конце концов, код – это не только инструмент, заставляющий биты и байты работать на нас, это в том числе средство коммуникации. Это тоже часть продукта, у которого есть свои пользователи (нынешние и будущие коллеги), которым хорошо бы при необходимости за минимальное время разобраться в том, что вы написали, и внести соответствующие коррективы.
Я человек ленивый, поэтому сейчас, когда Мне что-то надо быстро дописать или поправить, Я в первую очередь пробую копи-пастнуть весь файл в GPT-4, сказать, сделать – и получить желаемое изменение в нужном месте. Иногда, требующее косметических доработок. Годы прошли и теперь нам опять важнее, чтобы наш код понимала машина. Но у этой машины есть одно маленькое ограничение: длина контекста.
Поэтому Я официально ввожу новый паттерн хорошего кода: Размер любого файла в проекте не должен превышать 4096 токенов. По Моим прикидкам, это ~300 строк на Python.
P.S. К слову, это вполне внятный критерий, по которому можно определить в какой момент ту или иную сложную логику инкапсулировать в отдельные объекты.