Clean Code
13.3K subscribers
2.3K photos
5 videos
2.94K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

РКН: clck.ru/3Ht6ch
Download Telegram
👨‍💻 В начале методов проверяйте входные данные

На уровне кода нужно обязательно делать проверки входных данных во всех или практически во всех методах. Это связано с пользовательским поведением: будущие пользователи могут вводить любые данные, которые могут вызвать сбои в работе программы. В любом методе, даже в том, который использовался всего один раз, обязательно нужно организовывать проверку данных и создавать обработку ошибок. Это стоит сделать, поскольку метод не только выступает как уровень абстракции, но и необходим для переиспользования. В принципе, возможно разделить методы на те, в которых нужно делать проверку, и те, в которых её делать необязательно, но для полной уверенности и защиты от «хитрого пользователя» лучше проверять все входные данные.

Clean Code #совет #код
ProofHub

ProofHub, представленный в 2011 году, является одним из лучших облачных инструментов для управления проектами. Он поможет вам с планированием, разработкой, организацией и поставкой вашего проекта в оговоренные сроки. Инструмент создан для лучшего контроля над проектом и для повышения ответственности в команде. Есть мобильная и десктопная версия инструмента.

📑 Сайт

Clean Code #инструменты
📑 Подборка советов по хорошему коду

▍Это подборка постов касающихся хорошего кода за первую половину марта 2021.

1. Соблюдайте единый Code style.

2. Создавайте методы как новый уровень абстракции с осмысленными именами и делайте методы компактными.

3. В начале методов проверяйте входные данные.

По какой теме вы хотите следующую подборку? Пишите в комментариях 👇

Clean Code #подборка #код
📖 Совершенный код
🖋 Стив Макконнелл, 2013

Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО - с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство.

Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код.

💾 Скачать книгу

Clean Code #книги
🔥 Лучшее на канале за неделю

1
. Как стать более продуктивным разработчиком?

2. Winget — инструмент командной строки, который позволяет разработчикам находить, устанавливать, обновлять, удалять и настраивать приложения на Windows.

3. В начале методов проверяйте входные данные.
📑 Microsoft раскритиковали за удаление прототипа эксплойта Microsoft Exchange с GitHub

Накануне компания Microsoft удалила код прототипа эксплойта Microsoft Exchange с принадлежащей ей платформы GitHub. На удивление, очень многие эксперты по кибербезопасности оказались возмущены подобным поведением ИТ-гиганта.

Clean Code #новости
🧑‍💻 Реализуйте при помощи наследования только отношение «является». В остальных случаях – композиция

Композиция является одним из ключевых паттернов, нацеленных на облегчение восприятия кода и, в отличие от наследования, не нарушает принцип инкапсуляции. Допустим, у вас есть класс Руль и класс Колесо. Класс Автомобиль можно реализовать как наследник класса-предка Руль, но ведь Автомобилю нужны и свойства класса Колесо.

Соответственно, программист начинает плодить наследование. А ведь даже с точки зрения обывательской логики класс Автомобиль — это композиция элементов. Допустим, есть такой код, когда новый класс создаётся с использованием наследования (класс ScreenElement наследует поля и методы класса Coordinate и расширяет этот класс):

Композиция — неплохая замена наследованию, этот паттерн более простой для дальнейшего понимания написанного кода. Можно придерживаться такого правила: выбирать наследование, только если нужный класс схож с классом-предком и не будет использовать методы других классов. К тому же, композиция избавляет программиста ещё от одной проблемы — исключает конфликт имён, который случается при наследовании. Есть у композиции и недостаток: размножение количества объектов может оказывать влияние на производительность. Но опять же, это зависит от масштаба проекта и должно оцениваться разработчиком в каждом случае отдельно.

Clean Code #совет #код
PureText

Это крошечная утилита, которая работает в трее и удаляет все форматирование текста из буфера обмена и при желании вставляет полученный чистый текст в активное окно с помощью одной горячей клавиши.

Вы когда-нибудь копировали текст с веб-страницы или документа Word и хотели вставить его как обычный текст в другое приложение, не получая всего форматирования из источника? PureText упрощает это. Просто скопируйте / вырежьте все, что хотите, в буфер обмена, щелкните значок PureText в трее и затем вставьте в любое приложение. Также вы можете настроить горячую клавишу PureText для преобразования и вставки текста за вас. Вставленный текст будет чистым и без форматирования.

📑 Сайт

#инструменты
Clean Code #test #typescript

Выберите правильный вариант 👇🏼
Clean Code #тесты #typescript

Выберите ниже правильный ответ 👇🏼
🧑‍💻 Отделяйте интерфейс от реализации

Любой используемый в программе класс состоит из интерфейса (того, что доступно при использовании класса извне) и реализации (методы). В коде интерфейс должен быть отделён от реализации как для соблюдения одного из принципов ООП, инкапсуляции, так и для улучшения читабельности кода.

Второй случай предпочтительнее, так как он скрывает реализацию с помощью модификатора доступа private. Кроме улучшения читабельности кода, отделение интерфейса от реализации в сочетании с соблюдением правила создания небольшого интерфейса даёт ещё одно важное преимущество: в случае нарушений в работе программы для поиска причины сбоя потребуется проверить лишь несколько функций. Чем больше открытых функций и данных — тем сложнее отследить источник ошибки. Однако интерфейс должен быть полным и должен позволять делать всё, что необходимо, иначе он бесполезен.

Clean Code #совет #код
📖 Идеальный программист. Как стать профессионалом разработки ПО
🖋 Р. Мартин, 2021

Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это – основа для них. Потому что они являются профессионалами своего дела.
В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и практики разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга – больше, чем описание методов, она о профессиональном подходе к процессу разработки.

💾 Скачать книгу

Clean Code #книги #cleancode
Просто о Чистом коде и качестве кода (Code Quality & Clean Code)

В данном видео рассказывается о таких понятиях, как Clean Code и Code Quality. А также рассматриваются основные правила, которые помогают в написании чистого кода.

📺 YouTube

Clean Code #видео #cleancode
🔥 Лучшее на канале за неделю

1
. Microsoft раскритиковали за удаление прототипа эксплойта Microsoft Exchange с GitHub.

2. PureText — утилита, которая работает в трее и удаляет все форматирование текста из буфера обмена и при желании вставляет полученный чистый текст в активное окно с помощью одной горячей клавиши..

3. Отделяйте интерфейс от реализации.
Coverage Gutters

Это удивительное расширение показывает, какой код покрывается модульным тестирование, а какой нет.

📑 Сайт

Clean Code #инструменты
🧑‍💻 Не стоит "умничать" и усложнять работу команде

Очень умные программисты всегда обеспечены работой. Ведь кроме них никто не понимает, что происходит в коде, даже если это сторонний код.

Можете ли вы объяснить, что делает эта тильда (см. код #1)? Если да, вы, конечно, молодец. Но как вы думаете, сможет ли ваша команда?

То же самое можно написать по-другом — см. код #2.

На самом деле, нет запрета на использование побитовых операторов. Более того, первый пример выглядит лучше. И будет очень здорово написать в таком стиле какую-нибудь библиотеку или личный проект. Однако, в команде очень важно взаимопонимание всех членов. Каждый программист, который когда-нибудь будет работать с этим кодом, должен легко понимать его.

Быть умным, знать и использовать интересные нетипичные приемы — это хорошо. Однако следует любой ценой избегать умения ради умения. Главной целью программиста должен быть ясный удобочитаемый хороший код.

Clean Code #совет #код
📑 Мобильное приложение GitHub для Android теперь позволяет скачивать APK

В новой версии GitHub для Android появилась вкладка релизы, перейдя на которую можно посмотреть доступные релизы и информацию о них. В нижней части каждого релиза находится секция Assets, в которой можно скачать APK-файлы, zip-архивы и другие файлы добавленные разработчиками.

Clean Code #новости