ch
Feedback
Clean Code

Clean Code

前往频道在 Telegram

Советы по написанию кода, обзоры распространенных ошибок и многое другое. Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc РКН: clck.ru/3Ht6ch

显示更多

📈 Telegram 频道 Clean Code 的分析概览

频道 Clean Code (@codeclean) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 12 233 名订阅者,在 技术与应用 类别中位列第 10 263,并在 俄罗斯 地区排名第 53 498

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 12 233 名订阅者。

根据 02 七月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -84,过去 24 小时变化为 -5,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 4.81%。内容发布后 24 小时内通常能获得 3.15% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 589 次浏览,首日通常累积 385 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 0
  • 主题关注点: 内容集中在 clean, собеседование, sql, программирование, golang 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Советы по написанию кода, обзоры распространенных ошибок и многое другое. Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc РКН: clck.ru/3Ht6ch

凭借高频更新(最新数据采集于 03 七月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

12 233
订阅者
-524 小时
-227
-8430
帖子存档
Compact Functions Компактные функции. Есть всего два привила. Первое: функции должны быть компатными. Второе: функции должны быть еще компактнее. Лучше 10 функций по 20 строк, чем один монстр на 200 строк. Чем компактнее вы будете писать свои функции, тем более примитивными и очевидными они будут казаться для читающего. #functions

Dependency Inversion Principle Суть принципа инверсии зависимостей проста: заменить композицию агрегацией. Вместо создания зависимостей напрямую, класс должен требовать их у более высокого уровня через аргументы метода или конструктора. При этом зависимость должна передаваться не в виде экземпляров конкретных классов, а в виде интерфейсов или абстрактных классов. Подробнее вы можете прочитать в статье. S O L I D #solid

Ad Hominem Переход на личности. Инспектируйте программу, а не программиста. Замечания о его личности лишь усложняют восприятие им критики. Если вы пишите негативные комментарии, пишите «патч» или «код» вместо «ты». Например, вместо "У тебя глюк в get_message" пишите "После применения этого патча в get_message появился глюк" #cleancode

Dublication Дублирование. Каждый раз, когда в программе встречается повторяющийся код, он указывает на упущенную возможность для абстракции. Возможно, дубликат мог бы стать функцикй или даже отдельным классом. "Сворачивая" дублирование в подобные абстракции, вы расширяете лексикон языка программирования. Другие программисты могут воспользоваться созданными вами абстрактными концепциями. Повышение уровня абстракции ускоряет программирование и снижает вероятность ошибок. #tips

Interface Segregation Principle Принцип разделения интерфейса. Создавайте узкоспециализированные интерфейсы, предназначенные для конкретного клиента. Клиенты не должны зависеть от интерфейсов, которые они не используют. S O L I D #solid

Function arguments Аргументы функции. Ограничение количества параметров функции невероятно важно, поскольку оно упрощает тестирование функции. Наличие более чем трёх аргументов приводит к комбинаторному взрыву, когда вам приходится перебирать массу различных случаев с каждым отдельным аргументом. Идеальная ситуация — отсутствие аргументов. Один или два аргумента — хорошо, а трех уже следует избегать. #functions

Group the blocks by meaning Группируйте блоки по смыслу. Используйте психологический эффект восприятия — «Эффект близости»: близко расположенные фигуры при восприятии объединяются. Получить код, подготовленный для анализа и обобщения можно, расположив рядом строки, объединенные смыслом или близкие по функционалу, разделив их пустой строкой. #formatting

Liskov Substitution Principle Принцип подстановки Барбары Лисков. Цель этого принципа заключаются в том, чтобы классы-наследники могли бы использоваться вместо родительских классов, от которых они образованы, не нарушая работу программы. Если оказывается, что в коде проверяется тип класса, значит принцип подстановки нарушается и вам следует пересмотреть свое решение. #solid

photo content

Avoid positional markers Избегайте позиционных маркеров. Они обычно просто добавляют шум. Позвольте функциям и именам переменных вместе с правильными отступами и форматированием придать визуальную структуру вашему коду. #comments

Quality your working WakaTime - сервис, который считает Ваше рабочее время. Большой плюс данного сервиса в том что он сам включается когда Вы начинаете писать код, и сам видит когда Вы ушли. Он умеет логировать самую разную информацию, от количества рабочих часов над проектом, до составления графика об использовании языков программирования. #work #quality #apps

Readme Driven Development RDD — это крайне простая практика. Пишите Readme в первую очередь, вот в принципе и все. A какие приемущества это вам даст читайте в статье. #architecture

Don't ignore caught errors Не игнорируйте обнаруженные ошибки. Ничего не делать с обнаруженной ошибкой не дает вам возможности исправить или отреагировать на указанную ошибку. Вывод ошибки на консоль (console.log) не намного лучше, так как часто он может потеряться в море других вещей, напечатанных на консоли. Если вы добавляете какой-либо фрагмент кода в try / catch, это означает, что вы думаете, что там может произойти ошибка, и поэтому вам нужно правильно на нее отреагировать. #errors

Favor functional programming over imperative programming Отдавайте предпочтение функциональному программированию над императивным. Функциональные языки программирования могут быть чище и проще для тестирования. Используйте этот стиль, когда сможете. Однако нужно быть предельно осторожным и хорошо понимать, что делает функция и как именно она выполняется, иначе это может привести к накладным расходам. #functions

Используйте значимые и произносимые имена переменных. #variables

Open-Closed Principle Принцип открытости-закрытости Программные сущности (классы, модули, функции) должны быть открыты для расширения, но не для модификации. Рассмотрим простой пример ниже. При добавлении нового Animal придётся дополнять код функции AnimalSound. Если подобная архитектура используется в реальном проекте, функцию придётся постоянно расширять, добавляя в неё новые выражения if. Решение: У каждого класса, описывающего животного, будет собственный метод MakeSound и, к примеру, при переборе массива с животными достаточно будет вызвать метод MakeSound для каждого элемента массива. #cleancode #solid

photo content

Все хотят иметь дело только с понятным чистым кодом. Но не все могут его создавать. Версия для C#, проверь себя! Clean Code Game #cleancode #apps

Solid. Single Responsibility Principle Принцип единственной ответственности. Класс должен быть ответственен лишь за что-то одно. Если класс отвечает за решение нескольких задач, его подсистемы, реализующие решение этих задач, оказываются связанными друг с другом. Изменения в одной такой подсистеме ведут к изменениям в другой. Правильное применение принципа единственной ответственности приводит к высокой степени связности элементов внутри модуля, то есть к тому, что задачи, решаемые внутри него, хорошо соответствуют его главной цели. #codeprinciples #solid

Ballast Балласт. Какая польза от конструктора по умолчанию, не имеющего реализации? Он только попусту загромождает код. Неиспользуемые переменные, невызываемые функции, бессодержательные комментарии - все это бесполезный балласт, который следует удалить. Поддерживайте чистоту в своих исходных файлах, следите за их структурой и не допускайте появления балласта. #cleancode