GOTO. История изгнания.
В настоящее время оператор goto практически нигде не используется, однако он все же остается лежать на пыльной полке языков программирования. В этой статье написана история создания и избавления от этого оператора.
К примеру в C#, все же есть разумное применение этому оператору: когда вы хотите выйти сразу из нескольких вложенных циклов, то оператор break вам не поможет, вместо него вы можете прописать goto. Однако, следуя концепциям чистого кода, в своем коде вы должны избегать вложенных циклов.
Пишите в комментариях свои примеры использования goto в различных языках программирования.
#programming #history
В настоящее время оператор goto практически нигде не используется, однако он все же остается лежать на пыльной полке языков программирования. В этой статье написана история создания и избавления от этого оператора.
К примеру в C#, все же есть разумное применение этому оператору: когда вы хотите выйти сразу из нескольких вложенных циклов, то оператор break вам не поможет, вместо него вы можете прописать goto. Однако, следуя концепциям чистого кода, в своем коде вы должны избегать вложенных циклов.
Пишите в комментариях свои примеры использования goto в различных языках программирования.
#programming #history
Medium
GOTO
История изгнания.
Самый важный навык, который может освоить программист.
Знание того, когда код не следует писать, возможно, является наиболее важным навыком, который может освоить программист. — The Art Of Readable Code.
Подробнее в статье.
#programming #principles
Знание того, когда код не следует писать, возможно, является наиболее важным навыком, который может освоить программист. — The Art Of Readable Code.
Подробнее в статье.
#programming #principles
Medium
Самый важный навык, который может освоить программист.
Скажите Нет написанию лишнего кода.
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
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
JavaScript нетипизирован, поэтому использование заглавных букв в именах говорит вам о ваших переменных, функциях и т.д. Эти правила носят субъективный характер, поэтому ваша команда может выбрать все, что пожелает. Неважно какой вариант вы выберите, главное придерживайтесь вашего выбора и будьте последовательны.
#cleancode #javascript #formatting
Введение в реактивное программирование.
Цель данной статьи — познакомить с основными концепциями реактивного программирования и показать, что не всё так сложно и страшно, как может показаться на первый взгляд. Существует большое множество рекативных библиотек, предназначенных для разных языков программирования, но основа и понимание реактивности у всех одна.
#programming #reactive
Цель данной статьи — познакомить с основными концепциями реактивного программирования и показать, что не всё так сложно и страшно, как может показаться на первый взгляд. Существует большое множество рекативных библиотек, предназначенных для разных языков программирования, но основа и понимание реактивности у всех одна.
#programming #reactive
Medium
Введение в реактивное программирование.
Библиотеки Rx.
5 сильных привычек успешных разработчиков.
Успех, к которому вы стремитесь, зависит только от того, как вы себя видите в этом мире, от ваших привычек и жизненных проблем, с которыми вам приходится сталкиваться. Фактически, согласно исследователям, 40% нашего успеха (или неудач) происходит из-за наших привычек.
В статье приведены некоторые мощные привычки, которые помогут закрепить ваш успех в качестве разработчика.
#programming #selfimprovement
Успех, к которому вы стремитесь, зависит только от того, как вы себя видите в этом мире, от ваших привычек и жизненных проблем, с которыми вам приходится сталкиваться. Фактически, согласно исследователям, 40% нашего успеха (или неудач) происходит из-за наших привычек.
В статье приведены некоторые мощные привычки, которые помогут закрепить ваш успех в качестве разработчика.
#programming #selfimprovement
Medium
5 сильных привычек успешных разработчиков.
Мы становимся теми, к чему больше всего стремимся.
Forwarded from Clean Code
Dependent functions
Зависимые функции. Если одна функция вызывает другую, то эти функции должны располагаться вблизи друг от друга по вертикали, а вызывающая функция должна находиться над вызываемой (если это возможно). Тем самым формируется естественная структура программного кода.
#cleancode
Зависимые функции. Если одна функция вызывает другую, то эти функции должны располагаться вблизи друг от друга по вертикали, а вызывающая функция должна находиться над вызываемой (если это возможно). Тем самым формируется естественная структура программного кода.
#cleancode
Когда зацикливаться, а когда рекурсировать?
Рекурсия может спасти вам жизнь, а может полностью погубить производительность вашей программы. Но это безусловно полезный иструмент, который может помочь вам решить сложные задачи, не прибегая к созданию трудоемкого итеративного кода, просто нужно знать, когда остановиться.
#programming #code
Рекурсия может спасти вам жизнь, а может полностью погубить производительность вашей программы. Но это безусловно полезный иструмент, который может помочь вам решить сложные задачи, не прибегая к созданию трудоемкого итеративного кода, просто нужно знать, когда остановиться.
#programming #code
Medium
When to Loop? When to Recurse?
Как максимально использовать рекурсию в вашем коде.
Use method chaining
Используйте метод "цепочки". Этот паттерн очень полезен и обычно используется во многих библиотеках. Он позволяет вашему коду быть выразительным и менее многословным. По этой причине попробуйте использовать цепочку методов и посмотрите, насколько чистым станет ваш код.
#cleancode #methods
Используйте метод "цепочки". Этот паттерн очень полезен и обычно используется во многих библиотеках. Он позволяет вашему коду быть выразительным и менее многословным. По этой причине попробуйте использовать цепочку методов и посмотрите, насколько чистым станет ваш код.
#cleancode #methods
Время, деньги, трудозатраты — инструменты, помогающие нам различать большое и малое и отделять относящееся к архитектуре от всего остального. Они также помогают дать качественную оценку архитектуре — хорошая она или нет: хорошая архитектура отвечает потребностям пользователей, разработчиков и владельцев не только сейчас, но и продолжит отвечать им в будущем.
Типичные изменения, происходящие в процессе разработки системы, не должны быть дорогостоящими, сложными в реализации; они должны укладываться в график развития проекта и в рамки дневных или недельных заданий.
#architecture
Типичные изменения, происходящие в процессе разработки системы, не должны быть дорогостоящими, сложными в реализации; они должны укладываться в график развития проекта и в рамки дневных или недельных заданий.
#architecture
Forwarded from Clean Code
Bad Comments
Комментарии не компенсируют плохого кода.
Одной из распространенных причин для написания комментариев является низкое качество кода. Вы пишете модуль и видите, что код получился запутанным и беспорядочным. Вы знаете, что разобраться в нем невозможно. Поэтому вы говорите себе "О да, это стоит прокомментировать!" Нет! Лучше исправьте свой код!
Ясный и выразительный код с минимумом комментариев гораздо лучше громоздкого, сложного кода с большим количеством комментариев. Не тратьте время на написание комментариев, объясняющих созданную вами путаницу, - лучше потратьте его на исправление.
#comments #bad
Комментарии не компенсируют плохого кода.
Одной из распространенных причин для написания комментариев является низкое качество кода. Вы пишете модуль и видите, что код получился запутанным и беспорядочным. Вы знаете, что разобраться в нем невозможно. Поэтому вы говорите себе "О да, это стоит прокомментировать!" Нет! Лучше исправьте свой код!
Ясный и выразительный код с минимумом комментариев гораздо лучше громоздкого, сложного кода с большим количеством комментариев. Не тратьте время на написание комментариев, объясняющих созданную вами путаницу, - лучше потратьте его на исправление.
#comments #bad
Forwarded from Clean Code
Ballast
Балласт. Какая польза от конструктора по умолчанию, не имеющего реализации? Он только попусту загромождает код. Неиспользуемые переменные, невызываемые функции, бессодержательные комментарии - все это бесполезный балласт, который следует удалить. Поддерживайте чистоту в своих исходных файлах, следите за их структурой и не допускайте появления балласта.
#cleancode
Балласт. Какая польза от конструктора по умолчанию, не имеющего реализации? Он только попусту загромождает код. Неиспользуемые переменные, невызываемые функции, бессодержательные комментарии - все это бесполезный балласт, который следует удалить. Поддерживайте чистоту в своих исходных файлах, следите за их структурой и не допускайте появления балласта.
#cleancode
Аргументы функции (в идеале 2 или меньше)
Ограничение количества параметров функции невероятно важно, потому как это облегчает тестирование вашей функции. Наличие более трех параметров приводит к комбинаторному взрыву, когда вам приходится тестировать огромное количество случаев с каждым отдельным аргументом.
Отсутствие аргументов - идеальный случай. Один или два аргумента — еще в порядке, а вот три или более следует избегать. В большинстве случаев все это множество аргументов можно заменить каким-либо одним объектом.
#functions #python
Ограничение количества параметров функции невероятно важно, потому как это облегчает тестирование вашей функции. Наличие более трех параметров приводит к комбинаторному взрыву, когда вам приходится тестировать огромное количество случаев с каждым отдельным аргументом.
Отсутствие аргументов - идеальный случай. Один или два аргумента — еще в порядке, а вот три или более следует избегать. В большинстве случаев все это множество аргументов можно заменить каким-либо одним объектом.
#functions #python
Чат канала Clean Code
Здесь вы можете проводить Code Review и помогать друг другу в поиске распространненых ошибок в коде, архитектуре и многом другом. Присоединяйся!
Просто перейди по ссылке либо нажми кнопку DISCUSS снизу.
Здесь вы можете проводить Code Review и помогать друг другу в поиске распространненых ошибок в коде, архитектуре и многом другом. Присоединяйся!
Просто перейди по ссылке либо нажми кнопку DISCUSS снизу.
Парное Программирование
В данной статье описаны признаки хорошего, плохого и отвратительного парного программирования, а также даются рекомендации к его применению. Мне, как разработчику, большую часть времени работающему в соло данный подход показался достаточно привлекательным, однако не стоит им злоупотреблять, так как все необходимо в меру.
#programming
В данной статье описаны признаки хорошего, плохого и отвратительного парного программирования, а также даются рекомендации к его применению. Мне, как разработчику, большую часть времени работающему в соло данный подход показался достаточно привлекательным, однако не стоит им злоупотреблять, так как все необходимо в меру.
#programming
Medium
Pair Programming
Хорошее, плохое, и отвратительное.
Отличие профессионала от непрофессионала.
Быть непрофессионалом намного проще. Непрофессионалы не несут ответственности за выполняемую работу — они оставляют ответственность своим работодателям. Если непрофессионал совершает ошибку, то мусор за ним прибирает работодатель. Но если ошибка совершается профессионалом, то устранять последствия приходится ему самому.
А если в ваш модуль закрадется ошибка, которая обойдется вашей компании в $10 000? Непрофессионал пожмет плечами, скажет: «Вся-кое бывает», и продолжит писать следующий модуль. Профессионал должен выписать своей компании чек на $10 000!
#programming
Быть непрофессионалом намного проще. Непрофессионалы не несут ответственности за выполняемую работу — они оставляют ответственность своим работодателям. Если непрофессионал совершает ошибку, то мусор за ним прибирает работодатель. Но если ошибка совершается профессионалом, то устранять последствия приходится ему самому.
А если в ваш модуль закрадется ошибка, которая обойдется вашей компании в $10 000? Непрофессионал пожмет плечами, скажет: «Вся-кое бывает», и продолжит писать следующий модуль. Профессионал должен выписать своей компании чек на $10 000!
#programming
Forwarded from Clean Code
Favor functional programming over imperative programming
Отдавайте предпочтение функциональному программированию над императивным.
Функциональные языки программирования могут быть чище и проще для тестирования. Используйте этот стиль, когда сможете. Однако нужно быть предельно осторожным и хорошо понимать, что делает функция и как именно она выполняется, иначе это может привести к накладным расходам.
#functions
Отдавайте предпочтение функциональному программированию над императивным.
Функциональные языки программирования могут быть чище и проще для тестирования. Используйте этот стиль, когда сможете. Однако нужно быть предельно осторожным и хорошо понимать, что делает функция и как именно она выполняется, иначе это может привести к накладным расходам.
#functions
5 вредных привычек, от которых программист должен избавиться прямо сейчас.
У программистов существуют привычки программирования, которые ведут себя точно так же, как и любые другие жизненные привычки: от них трудно избавиться, независимо от того, хорошие они или плохие.
Достаточно сложно отделить хорошие и плохие привычки программирования из-за большого количество различных языков и платформ, но существуют некоторые общие привычки, которые никогда не дадут вам хорошего результата.
#programming #selfimprovement
У программистов существуют привычки программирования, которые ведут себя точно так же, как и любые другие жизненные привычки: от них трудно избавиться, независимо от того, хорошие они или плохие.
Достаточно сложно отделить хорошие и плохие привычки программирования из-за большого количество различных языков и платформ, но существуют некоторые общие привычки, которые никогда не дадут вам хорошего результата.
#programming #selfimprovement
Medium
5 вредных привычек, от которых программист должен избавиться прямо сейчас.
Лучший способ избавиться от вредной привычки — бросить ее.
Never ask permission to refactor
Никогда не спрашивай разрешения на рефакторинг. Никогда не спрашивайте разрешения на написание тестов. Вы делаете эти вещи, потому что ЗНАЕТЕ, что они — лучший способ двигаться быстро.
Когда вы спрашиваете разрешения, вы просите кого-то другого взять на себя ответственность за ваши действия.
#tips #selfimprovement
Никогда не спрашивай разрешения на рефакторинг. Никогда не спрашивайте разрешения на написание тестов. Вы делаете эти вещи, потому что ЗНАЕТЕ, что они — лучший способ двигаться быстро.
Когда вы спрашиваете разрешения, вы просите кого-то другого взять на себя ответственность за ваши действия.
#tips #selfimprovement
This media is not supported in your browser
VIEW IN TELEGRAM
Sharpen
Sharpen - это расширение Visual Studio, которое добавляет новые возможности языка C# в вашу существующую кодовую базу. Он делает ваш код короче, проще, выразительнее, производительнее и читабельнее, одним словом - острее.
GitHub
#programming #tools
Sharpen - это расширение Visual Studio, которое добавляет новые возможности языка C# в вашу существующую кодовую базу. Он делает ваш код короче, проще, выразительнее, производительнее и читабельнее, одним словом - острее.
GitHub
#programming #tools