TGViewer
defer panic defer panic @deferpanic · 3.02K subscribers
Post #134 958
Не пишите комменты

В какой-то момент я перестал практически полностью писать комменты к коду и отключил везде линтер, который проверяет их наличие. Потому что 99,(9)% времени комменты либо описывают что-то очевидное (GetUser returns user или ID is ID of user), либо описывают что-то очевидное и врут, потому что забыли обновить коммент или неточно выразили свои мысли (GetUser is goroutine-safe). Я понимаю, что кто-то может возразить, что бывают случаи, когда комменты нужны. Я вижу для себя три возможные причины:

• Код запутан из-за оптимизации или специфики алгоритма
• В языке нет вменяемой системы типов (привет, Clojure)
• Выразительность языка на уровне write only (привет, Haskell)

Вторые два случая нас не интересуют — мы же тут про Go говорим. Да и с первым всё понятно — если алгоритм или предметная область сложные сами по себе, тут уже ничего не поделаешь. В остальных случаях, когда я вижу комменты к коду, которые добавлены «для ясности», то я понимаю, что на самом деле человек потратил лишнее время, для того чтобы написать ясный комментарий (если повезло) вместо того, чтобы написать ясный код.

Я вдруг вспомнил столь холиварную тему, т.к. за завтраком наткнулся на ролик с офигенного канала Code Aesthetic: https://youtu.be/Bf7vDBBOBUA

Но вообще интересно почитать, что думаете вы. Поэтому если не согласны (и согласны тоже), то напишите в комментах, почему — к этому посту, не в коде 😀
YouTube Don't Write Comments Why you shouldn't write comments in your code (write documentation) Access to code examples, discord, song names and more at https://www.patreon.com/codeaesthetic References: https://www.commitstrip.com/en/2016/08/25/a-very-comprehensive-and-precise-spec/?
  • 👍 5
  • 🔥 2
  • 👎 1
  • 🤔 1
More from @deferpanic
  1. Aug 21, 2026Post #310
  2. Jul 25, 2026🦄 Опубликовал платформу для гайдов и первую статью https://golang.guide/ Надеюсь, вам пон…
  3. Jul 7, 2026Новость из немного другого мира: Эрин Катто, автор легендарного* физического движка Box2D,…
  4. Jun 24, 2026Я решил провести эксперимент и написать что-то на абсолютно незнакомом языке для абсолютно…
  5. Jun 11, 2026🥂Большой выпуск про PaaS — как Avito и Plata строят платформу для разработки / GoGetPodca…
  6. May 29, 2026⚙️ Лучшие практики в Go: разбираем на Podlodka Go Crew Пишете на Go и хотите узнать, как з…
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 →