🧑💻 «Могу ли я узнать ваше имя?»
В программировании имена повсюду. Мы называем функции, классы, аргументы, пакеты и т. д. Иногда мы думаем что-то вроде: «И так понятно, что text – это текстовое поле. Зачем мудрить?» Однако взглянув на код или часть программного кода через неделю, две или месяц, натыкаемся на абракадабру, в которой непонятно что непонятно за что отвечает.
Допустим, вы написали небольшую графическую часть на Java. Что можно сказать о происходящем из представленного первого программного кода?
В коде происходит нечто странное. Давайте немного изменим его (см. код 2).
Имя любой переменной, функции или класса должно отвечать на три вопроса: зачем это нужно, что делает и как используется. Выбор хороших имен поначалу требует времени, но в дальнейшем вы сэкономите намного больше. Тщательно подбирайте названия, и все, кто прочтет ваш код, будет вам благодарен.
Clean Code #совет #cleancode #java
В программировании имена повсюду. Мы называем функции, классы, аргументы, пакеты и т. д. Иногда мы думаем что-то вроде: «И так понятно, что text – это текстовое поле. Зачем мудрить?» Однако взглянув на код или часть программного кода через неделю, две или месяц, натыкаемся на абракадабру, в которой непонятно что непонятно за что отвечает.
Допустим, вы написали небольшую графическую часть на Java. Что можно сказать о происходящем из представленного первого программного кода?
В коде происходит нечто странное. Давайте немного изменим его (см. код 2).
Имя любой переменной, функции или класса должно отвечать на три вопроса: зачем это нужно, что делает и как используется. Выбор хороших имен поначалу требует времени, но в дальнейшем вы сэкономите намного больше. Тщательно подбирайте названия, и все, кто прочтет ваш код, будет вам благодарен.
Clean Code #совет #cleancode #java
Rescue time
Это приложение для отслеживания времени, основанное в 2007 году. Этот инструмент отслеживает всю активность пользователей и время, потраченное на определенные приложения. Оно предоставляет детальные отчеты по нашей активности.
Rescue time очень известен среди разработчиков, поскольку позволяет им повышать эффективность своего расписания и увеличивать продуктивность. Он также имеет мобильную и десктопную версию.
📑 Сайт
Clean Code #инструменты
Это приложение для отслеживания времени, основанное в 2007 году. Этот инструмент отслеживает всю активность пользователей и время, потраченное на определенные приложения. Оно предоставляет детальные отчеты по нашей активности.
Rescue time очень известен среди разработчиков, поскольку позволяет им повышать эффективность своего расписания и увеличивать продуктивность. Он также имеет мобильную и десктопную версию.
📑 Сайт
Clean Code #инструменты
Чистый код на стероидах / Радикальное программирование
Егор Бугаенко — топ контрибьюторов гитхаба, владелец успешных стартапов, руководитель проектов в компании Huawei, писатель, программист и блогер.
Егор широко известен своим ультимативно-радикальным подходом к программированию и программистам, за что часто подвергается всесторонней критике. Именно о взглядах Егора говорится в этом выпуске: программирование на результат, подход "Элегантных Объектов", чем хорош и плох Боб Мартин, нужны ли менеджеры и тестирование ПО — это лишь немногие темы, которые затронуты в интервью.
📺 YouTube
Clean Code #видео #cleancode
Егор Бугаенко — топ контрибьюторов гитхаба, владелец успешных стартапов, руководитель проектов в компании Huawei, писатель, программист и блогер.
Егор широко известен своим ультимативно-радикальным подходом к программированию и программистам, за что часто подвергается всесторонней критике. Именно о взглядах Егора говорится в этом выпуске: программирование на результат, подход "Элегантных Объектов", чем хорош и плох Боб Мартин, нужны ли менеджеры и тестирование ПО — это лишь немногие темы, которые затронуты в интервью.
📺 YouTube
Clean Code #видео #cleancode
YouTube
ЧИСТЫЙ КОД на СТЕРОИДАХ / Радикальное программирование / Интервью с Егором Бугаенко
Узнали парня на обложке? Это Егор Бугаенко - ТОП контрибьюторов гитхаба, владелец успешных стартапов, руководитель проектов в компании Huawei, писатель, программист, блогер и просто очень, ооочень интересный человек.
Егор широко известен своим ультимативно…
Егор широко известен своим ультимативно…
💡Статьи, которые помогут повысить вашу продуктивность
1. 5 приемов увеличения продуктивности разработчика.
2. Как стать более продуктивным разработчиком?
3. 5 трюков, повышающих продуктивность в командной строке.
Clean Code #подборка
1. 5 приемов увеличения продуктивности разработчика.
2. Как стать более продуктивным разработчиком?
3. 5 трюков, повышающих продуктивность в командной строке.
Clean Code #подборка
🔥 Лучшее на канале за неделю
1. Чистая архитектура. Искусство разработки программного обеспечения.
2. Alt-Tab Terminator — это элегантная и мощная утилита для управления задачами для Windows
3. «Могу ли я узнать ваше имя?»
1. Чистая архитектура. Искусство разработки программного обеспечения.
2. Alt-Tab Terminator — это элегантная и мощная утилита для управления задачами для Windows
3. «Могу ли я узнать ваше имя?»
📑 Следующее обновление ядра Linux может получить поддержку ARM-чипа Apple M1
Гектор Мартин, наиболее известен по переносу Linux на разные поколения PlayStation. Но также в последнее время о разработчике заговорили из-за его проекта Asahi Linux. Суть проекта заключается в портировании Linux на ARM-чип Apple — Apple M1.
Clean Code #новости
Гектор Мартин, наиболее известен по переносу Linux на разные поколения PlayStation. Но также в последнее время о разработчике заговорили из-за его проекта Asahi Linux. Суть проекта заключается в портировании Linux на ARM-чип Apple — Apple M1.
Clean Code #новости
🧑💻 Не бойтесь разбивать код на составляющие
Луис Салливан как-то сказал: «Форма следует за функцией».
Помните, что методы — это глаголы языка программирования, а классы – имена существительные. Не старайтесь делать методы огромными, включающими в себя все на свете. Будет гораздо понятнее, если вы разобьете класс на несколько методов. Так вы не запутаетесь в собственном коде, и другие люди его тоже поймут.
Небольшой пример-визуализация сказанного. Работа со слушателем: см. код 1.
Просто выносим функцию нашей кнопки в отдельный метод: см. код 2.
Clean Code #совет #cleancode #java
Луис Салливан как-то сказал: «Форма следует за функцией».
Помните, что методы — это глаголы языка программирования, а классы – имена существительные. Не старайтесь делать методы огромными, включающими в себя все на свете. Будет гораздо понятнее, если вы разобьете класс на несколько методов. Так вы не запутаетесь в собственном коде, и другие люди его тоже поймут.
Небольшой пример-визуализация сказанного. Работа со слушателем: см. код 1.
Просто выносим функцию нашей кнопки в отдельный метод: см. код 2.
Clean Code #совет #cleancode #java
Simplejson
Это быстрый, точный и расширяемый json кодировщик и декодировщик, который поддерживает Python 3.3+ с обратной совместимостью с Python 2.5.
Simplejson написан на Python и не имеет внешних зависимостей. Он также включает расширения, написанные на С для представлений с особо высоким быстродействием. Помимо дефолтной UTF-8, декодер Simplejson может оперировать строками JSON, поступающими в любой кодировке.
📑 Сайт
Clean Code #инструменты #python
Это быстрый, точный и расширяемый json кодировщик и декодировщик, который поддерживает Python 3.3+ с обратной совместимостью с Python 2.5.
Simplejson написан на Python и не имеет внешних зависимостей. Он также включает расширения, написанные на С для представлений с особо высоким быстродействием. Помимо дефолтной UTF-8, декодер Simplejson может оперировать строками JSON, поступающими в любой кодировке.
📑 Сайт
Clean Code #инструменты #python
🧑💻 Комментирование программного кода
Это особенно важно, если вы новичок или пишете действительно большую программу, к которой придется возвращаться снова и снова. Если вы оставите код без единого комментария, рискуете не понять его спустя некоторое время.
Также это большой плюс при приеме на работу. Выполняя ТЗ работодателя, не забывайте комментировать код: так вы показываете свою серьезность и умение писать код, понятный для всех.
Комментировать можно строку или несколько строк, выделяя таким образом часть программного кода. Например, вывод размещения элементов в своеобразный блок: см. код 1.
Вариант объяснения одной из строк: см. код 2.
Clean Code #совет #cleancode #java
Это особенно важно, если вы новичок или пишете действительно большую программу, к которой придется возвращаться снова и снова. Если вы оставите код без единого комментария, рискуете не понять его спустя некоторое время.
Также это большой плюс при приеме на работу. Выполняя ТЗ работодателя, не забывайте комментировать код: так вы показываете свою серьезность и умение писать код, понятный для всех.
Комментировать можно строку или несколько строк, выделяя таким образом часть программного кода. Например, вывод размещения элементов в своеобразный блок: см. код 1.
Вариант объяснения одной из строк: см. код 2.
Clean Code #совет #cleancode #java
📖 Рефакторинг. Улучшение проекта существующего кода
🖋 Фаулер Мартин, Бек Кент, Брант Джон, 2017
В данной книге известный эксперт в области объектных технологий Мартин Фаулер открывает перед сообществом разработчиков новые горизонты, рассказывая о практиках, применяемых экспертами, и демонстрируя, какие значительные преимущества от их применения может получить любой разработчик. При надлежащей подготовке квалифицированный проектировщик систем может взять плохо спроектированную программу и превратить ее в хорошо продуманный, надежный код. В книге Мартин Фаулер показывает читателям, где обычно можно найти возможности для оптимизации и как превратить плохой проект в хороший. Каждый шаг рефакторинга прост - даже, казалось бы, слишком прост, чтобы его стоило выполнять.
💾 Скачать книгу
Clean Code #книги #рефакторинг
🖋 Фаулер Мартин, Бек Кент, Брант Джон, 2017
В данной книге известный эксперт в области объектных технологий Мартин Фаулер открывает перед сообществом разработчиков новые горизонты, рассказывая о практиках, применяемых экспертами, и демонстрируя, какие значительные преимущества от их применения может получить любой разработчик. При надлежащей подготовке квалифицированный проектировщик систем может взять плохо спроектированную программу и превратить ее в хорошо продуманный, надежный код. В книге Мартин Фаулер показывает читателям, где обычно можно найти возможности для оптимизации и как превратить плохой проект в хороший. Каждый шаг рефакторинга прост - даже, казалось бы, слишком прост, чтобы его стоило выполнять.
💾 Скачать книгу
Clean Code #книги #рефакторинг
🧑💻 Код должен быть легко читаемым, понятным и очевидным
Программисты большую часть времени тратят на чтение и анализ написанного кода, а не на написание нового. Важно чтобы Ваш код был легко читаемым, понятным и с прогнозируемым поведением. Это позволит коллегам и Вам по прошествии времени затратить минимальное время на понимание того, что делает каждый кусок кода. Понятный код с прогнозируемым поведением позволит уменьшить вероятность ошибки при внесении изменений не автором кода.
Clean Code #совет #cleancode
Программисты большую часть времени тратят на чтение и анализ написанного кода, а не на написание нового. Важно чтобы Ваш код был легко читаемым, понятным и с прогнозируемым поведением. Это позволит коллегам и Вам по прошествии времени затратить минимальное время на понимание того, что делает каждый кусок кода. Понятный код с прогнозируемым поведением позволит уменьшить вероятность ошибки при внесении изменений не автором кода.
Clean Code #совет #cleancode
Чистый код (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