Clean HTML
В статье представлены несколько простых и полезных советов по написанию кода разметки html, его структура, и то, на что действительно должна быть похожа разметка.
#html #css
В статье представлены несколько простых и полезных советов по написанию кода разметки html, его структура, и то, на что действительно должна быть похожа разметка.
#html #css
Medium
Clean HTML
What pure HTML looks like
Unambiguous Names
Недвусмысленные имена. Выбирайте имена, которые максимально недвусмысленно передают назначение функции или переменной. В примере ниже имя метода получилось слишком общим и расплывчатым; оно ничего не говорит о том, что делает функция.
Фунцию было бы правильнее назвать вторым вариантом. На первый взляд имя кажется слишком длинным, но функция вызывается только из одной точки модуля, поэтому ее документирующая ценность перевышает длину.
#naming #functions
Недвусмысленные имена. Выбирайте имена, которые максимально недвусмысленно передают назначение функции или переменной. В примере ниже имя метода получилось слишком общим и расплывчатым; оно ничего не говорит о том, что делает функция.
Фунцию было бы правильнее назвать вторым вариантом. На первый взляд имя кажется слишком длинным, но функция вызывается только из одной точки модуля, поэтому ее документирующая ценность перевышает длину.
#naming #functions
Agile: Кросс-функциональные команды и самоорганизация. Part2
В первой статье мы рассмотрели само понятие и явление Agile культуры, обсудили имеющиеся стереотипы и заблуждения, сформировавшиеся вокруг данного термина, а также рассмотрели принципы, лежащие в основе Agile.
Основная цель данной статьи - разобраться с явлением "кросс-функциональных команд", понять в чем же именно заключается особенность данного подхода и что делает его столь популярным и эффективным.
#architecture #principles
В первой статье мы рассмотрели само понятие и явление Agile культуры, обсудили имеющиеся стереотипы и заблуждения, сформировавшиеся вокруг данного термина, а также рассмотрели принципы, лежащие в основе Agile.
Основная цель данной статьи - разобраться с явлением "кросс-функциональных команд", понять в чем же именно заключается особенность данного подхода и что делает его столь популярным и эффективным.
#architecture #principles
Medium
Agile
Кросс-функциональные команды и самоорганизация в основе Agile. Part 2.
Flags in Arguments
Флаги в аргументах. Логические аргументы явно указывают на то, что функция выполняет более одной операции. Они сильно запутывают код. Исключите их из своих функций.
#functions #arguments
Флаги в аргументах. Логические аргументы явно указывают на то, что функция выполняет более одной операции. Они сильно запутывают код. Исключите их из своих функций.
#functions #arguments
Lack of Tests
Недостаток тестов. Сколько тестов должен включать тестовый пакет? К сожалению, многие программисты руководствуются принципом "Пожалуй, этого хватит". Тестовый пакет должен тестировать все, что может ломаться. Если в системе остались условия, не проверенные тестами, или вычисления, правильность которых не подтверждена, значит, количество тестов недостаточно.
#tests
Недостаток тестов. Сколько тестов должен включать тестовый пакет? К сожалению, многие программисты руководствуются принципом "Пожалуй, этого хватит". Тестовый пакет должен тестировать все, что может ломаться. Если в системе остались условия, не проверенные тестами, или вычисления, правильность которых не подтверждена, значит, количество тестов недостаточно.
#tests
YAGNI
YAGNI — процесс и принцип проектирования ПО, при котором в качестве основной цели и/или ценности декларируется отказ от избыточной функциональности, — то есть отказ добавления функциональности, в которой нет непосредственной надобности.
#architecture
YAGNI — процесс и принцип проектирования ПО, при котором в качестве основной цели и/или ценности декларируется отказ от избыточной функциональности, — то есть отказ добавления функциональности, в которой нет непосредственной надобности.
#architecture
Medium
YAGNI
You aren’t going to need it.
Agile: Кросс-функциональные команды и самоорганизация в основе Agile. Part3
В предыдущей статье из цикла мы разобрались с понятием кросс-функциональных команд, "официально" привнесённым в мир Agile фреймворком Scrum, и постарались донести их преимущество относительно традиционного деления по "зонам ответственности". Но теперь перед нами обязательно встает вопрос - как организовать работу всей команды...
#agile #scrum
В предыдущей статье из цикла мы разобрались с понятием кросс-функциональных команд, "официально" привнесённым в мир Agile фреймворком Scrum, и постарались донести их преимущество относительно традиционного деления по "зонам ответственности". Но теперь перед нами обязательно встает вопрос - как организовать работу всей команды...
#agile #scrum
Medium
Agile
Кросс-функциональные команды и самоорганизация в основе Agile. Part 3.
Inappropriate static methods
Отдавайте предпочтение нестатическим функциям перед статическими. Если Ваша функция работает только с теми данными, которые получает из своих аргументов, то удостоверьтесь, что в будующем вам не потребуется от нее полиморфное поведение, прежде чем сделать ее статической.
#functions
Отдавайте предпочтение нестатическим функциям перед статическими. Если Ваша функция работает только с теми данными, которые получает из своих аргументов, то удостоверьтесь, что в будующем вам не потребуется от нее полиморфное поведение, прежде чем сделать ее статической.
#functions
Scrum: Ошибки при работе и как их исправить.
Scrum — одна из разновидностей гибких методологий разработки программного обеспечения agile. Но многие команды, которые заявляют, что работают по скраму, на самом деле не понимают или не придерживаются принципов, которые отличают его от других подходов. Автор блога на Hacker Noon Эрик Вайс описал наиболее частые заблуждения.
#agile #scrum
Scrum — одна из разновидностей гибких методологий разработки программного обеспечения agile. Но многие команды, которые заявляют, что работают по скраму, на самом деле не понимают или не придерживаются принципов, которые отличают его от других подходов. Автор блога на Hacker Noon Эрик Вайс описал наиболее частые заблуждения.
#agile #scrum
Medium
Scrum
Ошибки при работе по Scrum и как их исправить.
Artificial bindings
Искусственные привязки. То, что не зависит друг от друга не должно объединяться приявязками. Например, обобщеные перечисления не должны содержаться в более конкретных классах. В общем случае искусственной привязкой считается привязка между двумя модулями, не имеющая явной, непосредственной цели.
Главной причиной для появления таких привязок становится лень и небрежность. Не жалейте времени - разберитесь, где должно располагаться объявление той или иной функции, константы или переменной.
#dependencies
Искусственные привязки. То, что не зависит друг от друга не должно объединяться приявязками. Например, обобщеные перечисления не должны содержаться в более конкретных классах. В общем случае искусственной привязкой считается привязка между двумя модулями, не имеющая явной, непосредственной цели.
Главной причиной для появления таких привязок становится лень и небрежность. Не жалейте времени - разберитесь, где должно располагаться объявление той или иной функции, константы или переменной.
#dependencies
Avoid Wit
Избегайте остроумия. Если имена ваших методов, переменных или комментариев будут излишни остроумны, то их смысл будет понятен только людям, разделяющим чувство юмора автора - и только, если они помнят шутку.
Остроумие часто воплощается в форме просторечий или сленга. Например, не используйте имя whack() вместо kill(). Не используйте шуточки, привязанные к конкретной культуре, - например, eatMyShorts(), вмесо abort().
#naming
Избегайте остроумия. Если имена ваших методов, переменных или комментариев будут излишни остроумны, то их смысл будет понятен только людям, разделяющим чувство юмора автора - и только, если они помнят шутку.
Остроумие часто воплощается в форме просторечий или сленга. Например, не используйте имя whack() вместо kill(). Не используйте шуточки, привязанные к конкретной культуре, - например, eatMyShorts(), вмесо abort().
#naming
Engineers Don’t Want Clean Code
Ваши инженеры не хотят чистый код. Ваши инженеры хотят двигаться быстро. Чистый код — это просто метод, который позволяет инженерам быстро двигаться. Подробнее в статье...
#programming #cleancode
Ваши инженеры не хотят чистый код. Ваши инженеры хотят двигаться быстро. Чистый код — это просто метод, который позволяет инженерам быстро двигаться. Подробнее в статье...
#programming #cleancode
Medium
Engineers Don’t Want Clean Code
“The only way to make the deadline — the only way to go fast — is to keep the code as clean as possible at all times.” — Robert C. Martin
Class Member Prefixes
Префиксы членов класса. Префиксы
В качестве примера, во всех официальных плагинах от Unity до сих пор используется именно такой стиль кодирования, через префиксы.
#naming
Префиксы членов класса. Префиксы
m_
, s_
и другие, которыми когда-то снабжались переменные классов, сейчас стали ненужными. Классы и функции должны быть достаточно компактными, чтобы вы могли обходиться без префиксов. Также следует использовать рабочую среду с цветовым выделением членов классов, обеспечивающим их нагляднцю идентификацию.В качестве примера, во всех официальных плагинах от Unity до сих пор используется именно такой стиль кодирования, через префиксы.
#naming
Understanding Clean Code in Android
Если вы хотите создать что-то великое, вы должны уметь писать и аккуратно организовывать свой код. Если у вас есть члены команды или кто-то еще, кто работает с вашим кодом, им просто нужно увидеть имена переменных, пакеты или классы, и они сразу все поймут. Им не нужно будет произносить «F**k» и начинать переписывать все с нуля.
#principles
Если вы хотите создать что-то великое, вы должны уметь писать и аккуратно организовывать свой код. Если у вас есть члены команды или кто-то еще, кто работает с вашим кодом, им просто нужно увидеть имена переменных, пакеты или классы, и они сразу все поймут. Им не нужно будет произносить «F**k» и начинать переписывать все с нуля.
#principles
Medium
Understanding Clean Code in Android
Прежде чем приступить к написанию кода, лучше понять, как управлять кодом и как сделать ваш код масштабируемым.
Programmers vs Coders
Вам любопытно узнать, что отличает кодера от программиста? Возможно, вы думаете: «Ну, разве они не одно и то же?» Многие люди думают, что это так. Однако между кодером и программистом есть достаточно большая разница.
#programming #software
Вам любопытно узнать, что отличает кодера от программиста? Возможно, вы думаете: «Ну, разве они не одно и то же?» Многие люди думают, что это так. Однако между кодером и программистом есть достаточно большая разница.
#programming #software
Medium
Programmers vs Coders
What’s the difference.
Know Your Algorithm
Знай свой алгоритм. Очень много странного кода пишется из-за того, что люди не утруждают себя пониманием алгоритмов. Они заставляют программу работать «грубой силой», набивая ее командами if и флагами, вместо того чтобы остановиться и подумать, что же в действительности происходит.
Программирование часто сопряжено с иследованиями. Вы думаете, что знаете подходящий алгоритм для решения задачи, но потом вам приходится возиться с ним, подправлять и затыкать щели, пока вы не заставите его "работать".
Однако прежде чем откладывать в сторону готовую функцию, убедитесь в том, что вы понимаете, как она работает. Прохождения всех тестов недостаточно. Вы должны знать, что ваше решение правильно.
Один из лучших способов достичь этого знания и понимания - разбить функцию на фрагменты настолько чистые и выразительные, что вам станет совершенно очевидно, как работает данная функция.
#algoritms
Знай свой алгоритм. Очень много странного кода пишется из-за того, что люди не утруждают себя пониманием алгоритмов. Они заставляют программу работать «грубой силой», набивая ее командами if и флагами, вместо того чтобы остановиться и подумать, что же в действительности происходит.
Программирование часто сопряжено с иследованиями. Вы думаете, что знаете подходящий алгоритм для решения задачи, но потом вам приходится возиться с ним, подправлять и затыкать щели, пока вы не заставите его "работать".
Однако прежде чем откладывать в сторону готовую функцию, убедитесь в том, что вы понимаете, как она работает. Прохождения всех тестов недостаточно. Вы должны знать, что ваше решение правильно.
Один из лучших способов достичь этого знания и понимания - разбить функцию на фрагменты настолько чистые и выразительные, что вам станет совершенно очевидно, как работает данная функция.
#algoritms
Code Conventions: How to choose the best for your team.
Дискуссии о соглашениях по коду, какими бы полезными они ни были, иногда перерастают в бесконечные философские сплетни. А потом их участники переходят к темам, начиная с отступов и заканчивая структурой папок.
Так что же такое лучшее соглашение, и вообще, существуют ли оно? Об этом рассказывается в статье, чтобы вы могли положить конец этим философским беспорядкам, раз и навсегда.
#programming #convensions
Дискуссии о соглашениях по коду, какими бы полезными они ни были, иногда перерастают в бесконечные философские сплетни. А потом их участники переходят к темам, начиная с отступов и заканчивая структурой папок.
Так что же такое лучшее соглашение, и вообще, существуют ли оно? Об этом рассказывается в статье, чтобы вы могли положить конец этим философским беспорядкам, раз и навсегда.
#programming #convensions
Medium
How to choose the best code conventions for you and your team
Положите конец бесконечной дискуссии