📑 Microsoft раскритиковали за удаление прототипа эксплойта Microsoft Exchange с GitHub
Накануне компания Microsoft удалила код прототипа эксплойта Microsoft Exchange с принадлежащей ей платформы GitHub. На удивление, очень многие эксперты по кибербезопасности оказались возмущены подобным поведением ИТ-гиганта.
Clean Code #новости
Накануне компания Microsoft удалила код прототипа эксплойта Microsoft Exchange с принадлежащей ей платформы GitHub. На удивление, очень многие эксперты по кибербезопасности оказались возмущены подобным поведением ИТ-гиганта.
Clean Code #новости
🧑💻 Реализуйте при помощи наследования только отношение «является». В остальных случаях – композиция
Композиция является одним из ключевых паттернов, нацеленных на облегчение восприятия кода и, в отличие от наследования, не нарушает принцип инкапсуляции. Допустим, у вас есть класс Руль и класс Колесо. Класс Автомобиль можно реализовать как наследник класса-предка Руль, но ведь Автомобилю нужны и свойства класса Колесо.
Соответственно, программист начинает плодить наследование. А ведь даже с точки зрения обывательской логики класс Автомобиль — это композиция элементов. Допустим, есть такой код, когда новый класс создаётся с использованием наследования (класс ScreenElement наследует поля и методы класса Coordinate и расширяет этот класс):
Композиция — неплохая замена наследованию, этот паттерн более простой для дальнейшего понимания написанного кода. Можно придерживаться такого правила: выбирать наследование, только если нужный класс схож с классом-предком и не будет использовать методы других классов. К тому же, композиция избавляет программиста ещё от одной проблемы — исключает конфликт имён, который случается при наследовании. Есть у композиции и недостаток: размножение количества объектов может оказывать влияние на производительность. Но опять же, это зависит от масштаба проекта и должно оцениваться разработчиком в каждом случае отдельно.
Clean Code #совет #код
Композиция является одним из ключевых паттернов, нацеленных на облегчение восприятия кода и, в отличие от наследования, не нарушает принцип инкапсуляции. Допустим, у вас есть класс Руль и класс Колесо. Класс Автомобиль можно реализовать как наследник класса-предка Руль, но ведь Автомобилю нужны и свойства класса Колесо.
Соответственно, программист начинает плодить наследование. А ведь даже с точки зрения обывательской логики класс Автомобиль — это композиция элементов. Допустим, есть такой код, когда новый класс создаётся с использованием наследования (класс ScreenElement наследует поля и методы класса Coordinate и расширяет этот класс):
Композиция — неплохая замена наследованию, этот паттерн более простой для дальнейшего понимания написанного кода. Можно придерживаться такого правила: выбирать наследование, только если нужный класс схож с классом-предком и не будет использовать методы других классов. К тому же, композиция избавляет программиста ещё от одной проблемы — исключает конфликт имён, который случается при наследовании. Есть у композиции и недостаток: размножение количества объектов может оказывать влияние на производительность. Но опять же, это зависит от масштаба проекта и должно оцениваться разработчиком в каждом случае отдельно.
Clean Code #совет #код
PureText
Это крошечная утилита, которая работает в трее и удаляет все форматирование текста из буфера обмена и при желании вставляет полученный чистый текст в активное окно с помощью одной горячей клавиши.
Вы когда-нибудь копировали текст с веб-страницы или документа Word и хотели вставить его как обычный текст в другое приложение, не получая всего форматирования из источника? PureText упрощает это. Просто скопируйте / вырежьте все, что хотите, в буфер обмена, щелкните значок PureText в трее и затем вставьте в любое приложение. Также вы можете настроить горячую клавишу PureText для преобразования и вставки текста за вас. Вставленный текст будет чистым и без форматирования.
📑 Сайт
#инструменты
Это крошечная утилита, которая работает в трее и удаляет все форматирование текста из буфера обмена и при желании вставляет полученный чистый текст в активное окно с помощью одной горячей клавиши.
Вы когда-нибудь копировали текст с веб-страницы или документа Word и хотели вставить его как обычный текст в другое приложение, не получая всего форматирования из источника? PureText упрощает это. Просто скопируйте / вырежьте все, что хотите, в буфер обмена, щелкните значок PureText в трее и затем вставьте в любое приложение. Также вы можете настроить горячую клавишу PureText для преобразования и вставки текста за вас. Вставленный текст будет чистым и без форматирования.
📑 Сайт
#инструменты
🧑💻 Отделяйте интерфейс от реализации
Любой используемый в программе класс состоит из интерфейса (того, что доступно при использовании класса извне) и реализации (методы). В коде интерфейс должен быть отделён от реализации как для соблюдения одного из принципов ООП, инкапсуляции, так и для улучшения читабельности кода.
Второй случай предпочтительнее, так как он скрывает реализацию с помощью модификатора доступа private. Кроме улучшения читабельности кода, отделение интерфейса от реализации в сочетании с соблюдением правила создания небольшого интерфейса даёт ещё одно важное преимущество: в случае нарушений в работе программы для поиска причины сбоя потребуется проверить лишь несколько функций. Чем больше открытых функций и данных — тем сложнее отследить источник ошибки. Однако интерфейс должен быть полным и должен позволять делать всё, что необходимо, иначе он бесполезен.
Clean Code #совет #код
Любой используемый в программе класс состоит из интерфейса (того, что доступно при использовании класса извне) и реализации (методы). В коде интерфейс должен быть отделён от реализации как для соблюдения одного из принципов ООП, инкапсуляции, так и для улучшения читабельности кода.
Второй случай предпочтительнее, так как он скрывает реализацию с помощью модификатора доступа private. Кроме улучшения читабельности кода, отделение интерфейса от реализации в сочетании с соблюдением правила создания небольшого интерфейса даёт ещё одно важное преимущество: в случае нарушений в работе программы для поиска причины сбоя потребуется проверить лишь несколько функций. Чем больше открытых функций и данных — тем сложнее отследить источник ошибки. Однако интерфейс должен быть полным и должен позволять делать всё, что необходимо, иначе он бесполезен.
Clean Code #совет #код
📖 Идеальный программист. Как стать профессионалом разработки ПО
🖋 Р. Мартин, 2021
Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это – основа для них. Потому что они являются профессионалами своего дела.
В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и практики разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга – больше, чем описание методов, она о профессиональном подходе к процессу разработки.
💾 Скачать книгу
Clean Code #книги #cleancode
🖋 Р. Мартин, 2021
Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это – основа для них. Потому что они являются профессионалами своего дела.
В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и практики разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга – больше, чем описание методов, она о профессиональном подходе к процессу разработки.
💾 Скачать книгу
Clean Code #книги #cleancode
Просто о Чистом коде и качестве кода (Code Quality & Clean Code)
В данном видео рассказывается о таких понятиях, как Clean Code и Code Quality. А также рассматриваются основные правила, которые помогают в написании чистого кода.
📺 YouTube
Clean Code #видео #cleancode
В данном видео рассказывается о таких понятиях, как Clean Code и Code Quality. А также рассматриваются основные правила, которые помогают в написании чистого кода.
📺 YouTube
Clean Code #видео #cleancode
YouTube
Просто о Чистом коде и качестве кода (Code Quality & Clean Code)
#YauhenK #webDev #ПростоО #CleanCode
Добро пожаловать в 5-й выпуск видео каста «Просто о».
В котором мы с вами поговорим о таких понятиях, как Clean Code и Code Quality. А так же рассмотрим основные правила, которые помогают в написании чистого кода.
✒…
Добро пожаловать в 5-й выпуск видео каста «Просто о».
В котором мы с вами поговорим о таких понятиях, как Clean Code и Code Quality. А так же рассмотрим основные правила, которые помогают в написании чистого кода.
✒…
🔥 Лучшее на канале за неделю
1. Microsoft раскритиковали за удаление прототипа эксплойта Microsoft Exchange с GitHub.
2. PureText — утилита, которая работает в трее и удаляет все форматирование текста из буфера обмена и при желании вставляет полученный чистый текст в активное окно с помощью одной горячей клавиши..
3. Отделяйте интерфейс от реализации.
1. Microsoft раскритиковали за удаление прототипа эксплойта Microsoft Exchange с GitHub.
2. PureText — утилита, которая работает в трее и удаляет все форматирование текста из буфера обмена и при желании вставляет полученный чистый текст в активное окно с помощью одной горячей клавиши..
3. Отделяйте интерфейс от реализации.
Coverage Gutters
Это удивительное расширение показывает, какой код покрывается модульным тестирование, а какой нет.
📑 Сайт
Clean Code #инструменты
Это удивительное расширение показывает, какой код покрывается модульным тестирование, а какой нет.
📑 Сайт
Clean Code #инструменты
🧑💻 Не стоит "умничать" и усложнять работу команде
Очень умные программисты всегда обеспечены работой. Ведь кроме них никто не понимает, что происходит в коде, даже если это сторонний код.
Можете ли вы объяснить, что делает эта тильда (см. код #1)? Если да, вы, конечно, молодец. Но как вы думаете, сможет ли ваша команда?
То же самое можно написать по-другом — см. код #2.
На самом деле, нет запрета на использование побитовых операторов. Более того, первый пример выглядит лучше. И будет очень здорово написать в таком стиле какую-нибудь библиотеку или личный проект. Однако, в команде очень важно взаимопонимание всех членов. Каждый программист, который когда-нибудь будет работать с этим кодом, должен легко понимать его.
Быть умным, знать и использовать интересные нетипичные приемы — это хорошо. Однако следует любой ценой избегать умения ради умения. Главной целью программиста должен быть ясный удобочитаемый хороший код.
Clean Code #совет #код
Очень умные программисты всегда обеспечены работой. Ведь кроме них никто не понимает, что происходит в коде, даже если это сторонний код.
Можете ли вы объяснить, что делает эта тильда (см. код #1)? Если да, вы, конечно, молодец. Но как вы думаете, сможет ли ваша команда?
То же самое можно написать по-другом — см. код #2.
На самом деле, нет запрета на использование побитовых операторов. Более того, первый пример выглядит лучше. И будет очень здорово написать в таком стиле какую-нибудь библиотеку или личный проект. Однако, в команде очень важно взаимопонимание всех членов. Каждый программист, который когда-нибудь будет работать с этим кодом, должен легко понимать его.
Быть умным, знать и использовать интересные нетипичные приемы — это хорошо. Однако следует любой ценой избегать умения ради умения. Главной целью программиста должен быть ясный удобочитаемый хороший код.
Clean Code #совет #код
📑 Мобильное приложение GitHub для Android теперь позволяет скачивать APK
В новой версии GitHub для Android появилась вкладка релизы, перейдя на которую можно посмотреть доступные релизы и информацию о них. В нижней части каждого релиза находится секция Assets, в которой можно скачать APK-файлы, zip-архивы и другие файлы добавленные разработчиками.
Clean Code #новости
В новой версии GitHub для Android появилась вкладка релизы, перейдя на которую можно посмотреть доступные релизы и информацию о них. В нижней части каждого релиза находится секция Assets, в которой можно скачать APK-файлы, zip-архивы и другие файлы добавленные разработчиками.
Clean Code #новости
📑 Пример полезного комментария
В хороших книгах по программированию пишут, что код должен быть самодокументирующимся. А комментарии нужны там, где делается что-то нетривиальное. И это правда, недавно попался фрагмент кода, который отлично это демонстрирует. Его и рассмотрим в статье.
Clean Code #статьи #cleancode
В хороших книгах по программированию пишут, что код должен быть самодокументирующимся. А комментарии нужны там, где делается что-то нетривиальное. И это правда, недавно попался фрагмент кода, который отлично это демонстрирует. Его и рассмотрим в статье.
Clean Code #статьи #cleancode
🧑💻 Пробелы – это тоже код
Хороший код должен быть читабелен и понятен с первого взгляда. Следует четко отделять друг от друга разные контексты и методы.
Спор между "пробельщиками" и "табуляторщиками", очевидно, вечен. Однако, и те, и другие правы в том, что стремятся структурировать свой код.
Не так важно, какой именно символ использовать. Намного важнее, чтобы вся команда действовала единообразно. Когда в проекте много людей, довольно трудно ввести общие правила. В этом случае на помощь приходят специальные инструменты автоматической проверки. Самый популярный из них – JSHint, появившийся на базе JSLint Дугласа Крокфорда. Программа имеет огромные возможности настройки при помощи файла конфигурации.
Можно установить вид отступов и их размер, правила расстановки скобок и множество других ограничений. Автоматические линтеры следят за единообразием и качеством кода во всем проекте. При этом разработчики могут продолжать писать так, как им нравится.
Clean Code #совет #код #cleancode
Хороший код должен быть читабелен и понятен с первого взгляда. Следует четко отделять друг от друга разные контексты и методы.
Спор между "пробельщиками" и "табуляторщиками", очевидно, вечен. Однако, и те, и другие правы в том, что стремятся структурировать свой код.
Не так важно, какой именно символ использовать. Намного важнее, чтобы вся команда действовала единообразно. Когда в проекте много людей, довольно трудно ввести общие правила. В этом случае на помощь приходят специальные инструменты автоматической проверки. Самый популярный из них – JSHint, появившийся на базе JSLint Дугласа Крокфорда. Программа имеет огромные возможности настройки при помощи файла конфигурации.
Можно установить вид отступов и их размер, правила расстановки скобок и множество других ограничений. Автоматические линтеры следят за единообразием и качеством кода во всем проекте. При этом разработчики могут продолжать писать так, как им нравится.
Clean Code #совет #код #cleancode
RescueTime
Вы продуктивны? Вы тратите время на то, что вам нужно? RescueTime отслеживает, что вы делаете, и сообщает вам об этом с помощью отчетов. Очень хороший инструмент, если вы пытаетесь использовать GTD и TCB. Станьте более целенаправленными и продуктивными с помощью RescueTime.
📑 Сайт
Clean Code #инструменты
Вы продуктивны? Вы тратите время на то, что вам нужно? RescueTime отслеживает, что вы делаете, и сообщает вам об этом с помощью отчетов. Очень хороший инструмент, если вы пытаетесь использовать GTD и TCB. Станьте более целенаправленными и продуктивными с помощью RescueTime.
📑 Сайт
Clean Code #инструменты
Как называть переменные, методы и классы?
В данном видео вы узнаете, как правильно называть переменные, методы и классы.
📺 YouTube
Clean Code #видео #cleancode
В данном видео вы узнаете, как правильно называть переменные, методы и классы.
📺 YouTube
Clean Code #видео #cleancode
YouTube
Как называть переменные, методы и классы? Чистый код (Clean Code)
Сегодня мы с вами начинаем новую серию видео по CLEAN CODE Роберта Мартина.
В этом видео поговорим о том как правильно называть переменные, методы и классы.
Курс о котором идет речь в видео: SALESFORCE Developer - http://bit.ly/38r1u0n
📢А теперь объявление…
В этом видео поговорим о том как правильно называть переменные, методы и классы.
Курс о котором идет речь в видео: SALESFORCE Developer - http://bit.ly/38r1u0n
📢А теперь объявление…