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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
GOTO. История изгнания.

В настоящее время оператор goto практически нигде не используется, однако он все же остается лежать на пыльной полке языков программирования. В этой статье написана история создания и избавления от этого оператора.
К примеру в C#, все же есть разумное применение этому оператору: когда вы хотите выйти сразу из нескольких вложенных циклов, то оператор break вам не поможет, вместо него вы можете прописать goto. Однако, следуя концепциям чистого кода, в своем коде вы должны избегать вложенных циклов.
Пишите в комментариях свои примеры использования goto в различных языках программирования.

#programming #history
Самый важный навык, который может освоить программист.

Знание того, когда код не следует писать, возможно, является наиболее важным навыком, который может освоить программист. — The Art Of Readable Code.
Подробнее в статье.

#programming #principles
Clean Code Tool

CodeMaid - это расширение Visual Studio, которое помогает вам в очистке и в упрощении написания вашего кода на C #, C ++, F #, VB, PHP, PowerShell, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript и TypeScript.
Расширение умеет очищать ваш код по стандарту определенного языка, визуализировать иерархию ваших файлов и многое другое.

GitHub

#cleancode #tools
Используйте один вариант именования

JavaScript нетипизирован, поэтому использование заглавных букв в именах говорит вам о ваших переменных, функциях и т.д. Эти правила носят субъективный характер, поэтому ваша команда может выбрать все, что пожелает. Неважно какой вариант вы выберите, главное придерживайтесь вашего выбора и будьте последовательны.

#cleancode #javascript #formatting
Введение в реактивное программирование.

Цель данной статьи — познакомить с основными концепциями реактивного программирования и показать, что не всё так сложно и страшно, как может показаться на первый взгляд. Существует большое множество рекативных библиотек, предназначенных для разных языков программирования, но основа и понимание реактивности у всех одна.

#programming #reactive
Программирование похоже на секс. Одна ошибка, и вам придется поддерживать ее до конца жизни. Michael Sinz.
5 сильных привычек успешных разработчиков.

Успех, к которому вы стремитесь, зависит только от того, как вы себя видите в этом мире, от ваших привычек и жизненных проблем, с которыми вам приходится сталкиваться. Фактически, согласно исследователям, 40% нашего успеха (или неудач) происходит из-за наших привычек.
В статье приведены некоторые мощные привычки, которые помогут закрепить ваш успех в качестве разработчика.

#programming #selfimprovement
Forwarded from Clean Code
Dependent functions

Зависимые функции. Если одна функция вызывает другую, то эти функции должны располагаться вблизи друг от друга по вертикали, а вызывающая функция должна находиться над вызываемой (если это возможно). Тем самым формируется естественная структура программного кода.

#cleancode
Когда зацикливаться, а когда рекурсировать?

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

#programming #code
Use method chaining

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

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

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

#architecture
Forwarded from Clean Code
Bad Comments

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

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

#comments #bad
Forwarded from Clean Code
Ballast

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

#cleancode
Аргументы функции (в идеале 2 или меньше)

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

#functions #python
Чат канала Clean Code

Здесь вы можете проводить Code Review и помогать друг другу в поиске распространненых ошибок в коде, архитектуре и многом другом. Присоединяйся!

Просто перейди по ссылке либо нажми кнопку DISCUSS снизу.
Парное Программирование

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

#programming
Отличие профессионала от непрофессионала.

Быть непрофессионалом намного проще. Непрофессионалы не несут ответственности за выполняемую работу — они оставляют ответственность своим работодателям. Если непрофессионал совершает ошибку, то мусор за ним прибирает работодатель. Но если ошибка совершается профессионалом, то устранять последствия приходится ему самому.

А если в ваш модуль закрадется ошибка, которая обойдется вашей компании в $10 000? Непрофессионал пожмет плечами, скажет: «Вся-кое бывает», и продолжит писать следующий модуль. Профессионал должен выписать своей компании чек на $10 000!

#programming
Forwarded from Clean Code
Favor functional programming over imperative programming

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

#functions
5 вредных привычек, от которых программист должен избавиться прямо сейчас.

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

#programming #selfimprovement
Never ask permission to refactor

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

Когда вы спрашиваете разрешения, вы просите кого-то другого взять на себя ответственность за ваши действия.

#tips #selfimprovement
This media is not supported in your browser
VIEW IN TELEGRAM
Sharpen

Sharpen - это расширение Visual Studio, которое добавляет новые возможности языка C# в вашу существующую кодовую базу. Он делает ваш код короче, проще, выразительнее, производительнее и читабельнее, одним словом - острее.

GitHub

#programming #tools