TGViewer
Bite the Byte Bite the Byte @bitethebyte · 3.38K subscribers
Post #123 1.54K
Чи можна полюбити код іншої людини

Накаталися з малим з гори (тааак, цей момент прийшов, я катаюся на лижах разом з сином!), замучився і відкрив ютубчик повтикати. А там новий подкаст ДОУ, і прям у нарізці на початку Діма Малєєв каже "я ніколи не бачив програміста, який відкриває чужий проєкт і каже: боже, яка красота".

Ну що тут сказати, у програмістів є слава гірша, ніж в стоматологів, які теж дивляться у твій рот і починають ганьбити попередників. Головне, щоб не як в історіях про те, як annotate показує, що попередник — це ти сам. 🤣

Але ж причини того прості й зрозумілі: дедлайни, кваліфікація й обмеження.

1️⃣ У комерційних проєктах одна з найважливіших речей — це швидкість реалізації. Хочеться, щоб щось запрацювало одразу, як вирішили, що ж потрібно робити. Тож навіть без дедлайну, зробили так, щоб воно більш-менш підтримуване було, протестували — і у реліз, а розробник займається наступною задачею. У всіх ця межа достатності різна, але загалом нема сенсу полірувати до нескінченості, то грошей не приносить.

2️⃣ Кваліфікація в людей різна. Хтось краще, хтось гірше, і всі без виключення в перші роки досвіду проходять етап бажання писати якомога складніший і крутіший код, так щоб показати всьому світу, що ти можеш. А часу переписати попростіше вже немає, тож максимум будуть виправлені найгарячіші місця, а далі за схемою про нестачу часу.

3️⃣ Коли код пишуть, обмежень купа — окрім часу, є усні домовленості, якісь прийняті у проєкті підходи, якісь технічні проблеми (може навіть тимчасові), щось у голові в розробника, щось у голові в його рев'ювера, вигадайте корочє самі. А коли ти відкриваєш і дивишся код, то ти всіх обмежень, в яких знаходився розробник, не знаєш, зате бачиш замість простого і симпатичного коду для базового юзкейсу купу якихось нагромаджень.

Але є категорія проєктів, де цих обмежень майже не існує. У опенсорсі ніхто тебе не підганяє, ти сам вирішив щось написати. Тож не поспішай, зроби, як хочеться, щоб відчувати задоволення від результату.

А якщо тобі прислали зміни з поганим кодом — ніхто не заважає від них або відмовитися, або навчити людину, щоб вона написала краще. Адміністративно ніхто не давить. Психологічно — трошки є, але це інша проблема.

І обмеження рідше зникають і рідше з'являються, тому що навіть сукупність людей у проєкт стабільніша, ніж в комерційних, бо люди приходять не роботу робити за гроші, а через свої інтереси.

На мене, наприклад, дуже вплинув код Mercurial. Метью, автор Меркуріалу, дуже багато уваги приділяв простоті архітектури та коду, зворотній сумісності, когерентності функціоналу й обмеженості фіч, які попадають у ядро. Тож у 2008-му я був тим програмістом, який відкрив чужий код і сказав — боже, яка краса! 😁

Це був не перший і не останній раз, але найяскравіший для мене.
  • 👍 38
  • 🔥 3
More from @bitethebyte
  1. Aug 31, 2026‍Лагідна українізація дісталася до алібаби 😁
  2. Aug 24, 2026Вітаю всіх з днем відновлення незалежності! З цього приводу в ДОУ вийшов спецвипуск подкас…
  3. Aug 23, 2026А ви йдете на пікнік ДОУ? Я от нарешті йду. 😁 Дуже прикольно, що є івент, який якби конфе…
  4. Aug 13, 2026Щось зранку задумався над IBAN’ами, і випадково усвідомив, що вони — це ж така сама адреса…
  5. Jul 16, 2026Ну й відстойні ж новини. :( Нажаль, внутрішня політика знов перемогла здоровий глузд, але…
  6. Jun 10, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →