Clean Code
12.8K subscribers
2.51K photos
7 videos
3.32K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
🧑‍💻 Создавайте методы как новый уровень абстракции с осмысленными именами и делайте методы компактными

Вообще, сегодня модульность кода доступна каждому программисту, а это значит, что нужно стремиться создавать абстракции там, где это возможно. Абстракция — это один из способов сокрытия деталей реализации функциональности.

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

#совет #код
📊 Data Analyst: как расширить возможности своей профессии?

Один из крутых способов развиваться в профессии или понять, какое направление аналитики больше подходит — посещать митапы крупных компаний.

Из самых важных на начало года — это Яндекс Go Data Driven 3 апреля в онлайне. На митапе будут не только лекции, но и брейншторм — на нём можно будет порешать интересные аналитические задачки.

Регистрируйся и решай небольшой отборочное задание тут — https://taxi.yandex.ru/action/ytdd.

#новости
📑 Обновление BIOS «сломало» загрузку Linux на части компьютеров Intel NUC

Владельцы мини-компьютеров Intel NUC7PJYH столкнулись с проблемой. Из-за свежего обновления BIOS они не могут загрузить Linux и Unix-подобные системы. Один из пользователей опубликовал соответствующий пост на официальном форуме Intel NUC, на что компания уже успела отреагировать.

Clean Code #новости
📑 Как стать более продуктивным разработчиком?

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

Давайте разберем самые полезные вещи, которые каждый может применить относительно себя.

Clean Code #статьи
Clean Code #тесты #typescript

Выберите ниже правильный ответ 👇🏼
👨‍💻 В начале методов проверяйте входные данные

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

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 #совет #код