Чистый код (clean code) или Как помыть кота
Лекция по книге Роберта Мартина "Чистый код", дополненная личным опытом и примерами из собственной практики.
📺 YouTube
Clean Code #видео #cleancode
Лекция по книге Роберта Мартина "Чистый код", дополненная личным опытом и примерами из собственной практики.
📺 YouTube
Clean Code #видео #cleancode
YouTube
Чистый код (clean code) или Как помыть кота
Лекция по книге Роберта Мартина "Чистый код", дополненная личным опытом и примерами из собственной практики
Презентация: https://docs.google.com/presentation/d/1uOQt3brggp_EqI6Qd_pPozYmQ3sDO8_ne-BZ-PGAvrM/edit?usp=sharing
Сайт учебного центра: https://bit.ly/2O4Itrv
Презентация: https://docs.google.com/presentation/d/1uOQt3brggp_EqI6Qd_pPozYmQ3sDO8_ne-BZ-PGAvrM/edit?usp=sharing
Сайт учебного центра: https://bit.ly/2O4Itrv
🔥 Лучшее на канале за неделю
1. Рефакторинг. Улучшение проекта существующего кода.
2. Simplejson — это быстрый, точный и расширяемый json кодировщик и декодировщик, который поддерживает Python 3.3+ с обратной совместимостью с Python 2.5.
3. Комментирование программного кода.
1. Рефакторинг. Улучшение проекта существующего кода.
2. Simplejson — это быстрый, точный и расширяемый json кодировщик и декодировщик, который поддерживает Python 3.3+ с обратной совместимостью с Python 2.5.
3. Комментирование программного кода.
Pixelapse
Сервис, который показывает, как выглядел код в прошлых версиях.
📑 Сайт
Clean Code #инструменты #код
Сервис, который показывает, как выглядел код в прошлых версиях.
📑 Сайт
Clean Code #инструменты #код
🧑💻 Минимализм vs информативность
Нет, от сокращения имен код не станет проще: это лишь сделает его запутанным и непонятным. Отсутствие комментариев также будет недостатком. Но есть еще ряд приемов, которые заметно уменьшат код. К таким приемам относятся:
1) Удаление лишних проверок и условий.
2) Избегание дублирования.
3) Умение пользоваться конкретным языком программирования.
С первым пунктом вроде все понятно, но давайте проясним. К ненужным проверкам относится в т. ч. проверка на null. Иногда это даже попахивает паранойей. Например см. код.
А порой одно и то же условие проверяется несколько раз, словно что-то могло измениться без нашего вмешательства (разумеется, это не относится к коду, с которым действительно происходили соответствующие метаморфозы).
Дублирование – бич начинающих программистов. Из этого пункта вытекает и третий, ведь если человек знает все тонкости языка, он не станет намеренно увеличивать количество строк. Но странно то, что часто такие требования предъявляются именно новичкам, у которых просто недостаточно опыта, чтобы хорошо разобраться во всех тонкостях, например, ООП. Подобное исправляется лишь регулярной практикой.
Clean Code #совет #cleancode
Нет, от сокращения имен код не станет проще: это лишь сделает его запутанным и непонятным. Отсутствие комментариев также будет недостатком. Но есть еще ряд приемов, которые заметно уменьшат код. К таким приемам относятся:
1) Удаление лишних проверок и условий.
2) Избегание дублирования.
3) Умение пользоваться конкретным языком программирования.
С первым пунктом вроде все понятно, но давайте проясним. К ненужным проверкам относится в т. ч. проверка на null. Иногда это даже попахивает паранойей. Например см. код.
А порой одно и то же условие проверяется несколько раз, словно что-то могло измениться без нашего вмешательства (разумеется, это не относится к коду, с которым действительно происходили соответствующие метаморфозы).
Дублирование – бич начинающих программистов. Из этого пункта вытекает и третий, ведь если человек знает все тонкости языка, он не станет намеренно увеличивать количество строк. Но странно то, что часто такие требования предъявляются именно новичкам, у которых просто недостаточно опыта, чтобы хорошо разобраться во всех тонкостях, например, ООП. Подобное исправляется лишь регулярной практикой.
Clean Code #совет #cleancode
📖 Экстремальное программирование: разработка через тестирование
🖋 Кент Бек, 2017
Изящный, гибкий и понятный код, который легко модифицировать, который корректно работает и который не подкидывает своим создателям неприятных сюрпризов. Неужели, подобное возможно? Чтобы достичь цели, попробуйте тестировать программу еще до того, как она написана. Именно такая парадоксальная идея положена в основу методики TDD (Test-Driven-Development — разработка, основанная на тестировании). Бессмыслица? Не спешите делать скороспелых выводов. Рассматривая применение TDD на примере разработки реального программного кода, автор демонстрирует простоту и мощь этой новой методики. В книге рассматриваются два программных проекта, целиком и полностью реализованных с использованием TDD. За рассмотрением примеров следует обширный каталог приемов работы в стиле TDD, а также паттернов и рефакторингов, имеющих отношение к TDD.
💾 Скачать книгу
Clean Code #книги #TDD
🖋 Кент Бек, 2017
Изящный, гибкий и понятный код, который легко модифицировать, который корректно работает и который не подкидывает своим создателям неприятных сюрпризов. Неужели, подобное возможно? Чтобы достичь цели, попробуйте тестировать программу еще до того, как она написана. Именно такая парадоксальная идея положена в основу методики TDD (Test-Driven-Development — разработка, основанная на тестировании). Бессмыслица? Не спешите делать скороспелых выводов. Рассматривая применение TDD на примере разработки реального программного кода, автор демонстрирует простоту и мощь этой новой методики. В книге рассматриваются два программных проекта, целиком и полностью реализованных с использованием TDD. За рассмотрением примеров следует обширный каталог приемов работы в стиле TDD, а также паттернов и рефакторингов, имеющих отношение к TDD.
💾 Скачать книгу
Clean Code #книги #TDD
📑 Анонс Visual Studio 2022: дата выхода и что нового
Microsoft анонсировала Visual Studio 2022. В блоге компании перечислены все ключевые особенности новой версии. И судя по ним, нас ждёт и вправду крупный апдейт.
Clean Code #новости #vs
Microsoft анонсировала Visual Studio 2022. В блоге компании перечислены все ключевые особенности новой версии. И судя по ним, нас ждёт и вправду крупный апдейт.
Clean Code #новости #vs
📑 Советы по поддержанию продуктивности работы
Как быть в рабочем тонусе на протяжении всего дня? Эксперты рассказали, чего нужно избегать, а что, наоборот, поможет сохранить высокую продуктивность и концентрацию внимания.
Clean Code #статьи
Как быть в рабочем тонусе на протяжении всего дня? Эксперты рассказали, чего нужно избегать, а что, наоборот, поможет сохранить высокую продуктивность и концентрацию внимания.
Clean Code #статьи
🧑💻 Рекурсия – не панацея
Многие считают рекурсию лучшим средством для устранения всего лишнего. Если говорить о внешнем виде программного кода, это, несомненно, правда. Пример с факториалом: см. код 1.
Да, в этом случае код и там, и там маленький, но если прибавить кучу условий и строк – все изменится. Например, вот рекурсивное решение ханойской башни: см. код 2.
А теперь вообразите, сколько строк выдаст новичок, столкнувшийся с ханойской башней и работающий только с итерацией :)
Но не все так гладко. Попробуйте посчитать факториал большого числа. Вероятно, IDE зависнет, пытаясь переварить ваше решение, и это понятно: рекурсия «кушает» много памяти, так как метод каждый раз вызывает сам себя. Конечно, если в поставленной задаче рекурсия необходима (например, при обработке древовидных структур), использовать ее нужно, но ни в коем случае не злоупотреблять. Компактность-то она обеспечит, но что потом делать с памятью?
Clean Code #совет #cleancode
Многие считают рекурсию лучшим средством для устранения всего лишнего. Если говорить о внешнем виде программного кода, это, несомненно, правда. Пример с факториалом: см. код 1.
Да, в этом случае код и там, и там маленький, но если прибавить кучу условий и строк – все изменится. Например, вот рекурсивное решение ханойской башни: см. код 2.
А теперь вообразите, сколько строк выдаст новичок, столкнувшийся с ханойской башней и работающий только с итерацией :)
Но не все так гладко. Попробуйте посчитать факториал большого числа. Вероятно, IDE зависнет, пытаясь переварить ваше решение, и это понятно: рекурсия «кушает» много памяти, так как метод каждый раз вызывает сам себя. Конечно, если в поставленной задаче рекурсия необходима (например, при обработке древовидных структур), использовать ее нужно, но ни в коем случае не злоупотреблять. Компактность-то она обеспечит, но что потом делать с памятью?
Clean Code #совет #cleancode
Uploadcare
Сервис для загрузки и хранения кода. End-to-end облачная платформа для обработки и передачи контента. Платформа работает на технологии Adaptive Delivery и включает в себя облачное хранилище, обработку и загрузку видео, изображений и других файлов. Для передачи данных используется сеть из территориально распределенных CDN-серверов.
📑 Сайт
Clean Code #инструменты
Сервис для загрузки и хранения кода. End-to-end облачная платформа для обработки и передачи контента. Платформа работает на технологии Adaptive Delivery и включает в себя облачное хранилище, обработку и загрузку видео, изображений и других файлов. Для передачи данных используется сеть из территориально распределенных CDN-серверов.
📑 Сайт
Clean Code #инструменты
Чистый код
Доклад на основе книг и статей легендарного Роберта Мартина, автора многих классических книг по программированию (Чистый код и Идеальный программист). Применение правил на практике.
📺 YouTube
Clean Code #видео #cleancode
Доклад на основе книг и статей легендарного Роберта Мартина, автора многих классических книг по программированию (Чистый код и Идеальный программист). Применение правил на практике.
📺 YouTube
Clean Code #видео #cleancode
YouTube
Чистый код - Mad Brains Техно 10.07.20
В день рождения компании (да, нам уже 6 лет! ) решили поговорить о вечном и важном - чистом коде. Вспомним легендарного Роберта Мартина, автора многих классических книг по программированию (Чистый код и Идеальный программист) на основе книг и статей которого…
🔥 Лучшее на канале за неделю
1. Советы по поддержанию продуктивности работы.
2. Uploadcare — сервис для загрузки и хранения кода.
3. Экстремальное программирование: разработка через тестирование.
1. Советы по поддержанию продуктивности работы.
2. Uploadcare — сервис для загрузки и хранения кода.
3. Экстремальное программирование: разработка через тестирование.
📑 Релиз Ubuntu 21.04: поддержка Microsoft SQL Server и Flutter SDK «из коробки»
Компания Canonical выпустила свежую версию Ubuntu — Ubuntu 21.04. Выпуск не только оптимизировал работу дистрибутива, но также добавил несколько интересных фишек.
Clean Code #новости #ubuntu
Компания Canonical выпустила свежую версию Ubuntu — Ubuntu 21.04. Выпуск не только оптимизировал работу дистрибутива, но также добавил несколько интересных фишек.
Clean Code #новости #ubuntu
🧑💻 Не бойтесь перемен!
▍Часть 1
В этой небольшой серии советов будут собраны очень простые рекомендации, о которых знает каждый, вот только далеко не каждый их использует. Допустим, вместо «многослойных» if-ов можно использовать оператор (x ? y : z).
Пример с
Пример с
Также не забывайте о существовании forEach(), который избавит вас от претензий в стиле «Многа букав»:
Clean Code #совет #код
▍Часть 1
В этой небольшой серии советов будут собраны очень простые рекомендации, о которых знает каждый, вот только далеко не каждый их использует. Допустим, вместо «многослойных» if-ов можно использовать оператор (x ? y : z).
Пример с
if
: код 1.Пример с
(x ? y : z)
: код 2.Также не забывайте о существовании forEach(), который избавит вас от претензий в стиле «Многа букав»:
static void forEach(){Продолжение следует...
int [] mas = {1, 2, 3, 4, 5};
for (int i : mas){
System.out.println(i);
}
}
Clean Code #совет #код
Review Board
Сетевое, open-source решение для ревью кода. Чтобы протестировать этот инструмент, можете либо попробовать демо на их сайте, либо загрузить и установить программу на вашем сервере.
📑 Сайт
Clean Code #инструменты #CodeReview
Сетевое, open-source решение для ревью кода. Чтобы протестировать этот инструмент, можете либо попробовать демо на их сайте, либо загрузить и установить программу на вашем сервере.
📑 Сайт
Clean Code #инструменты #CodeReview