Аксиомы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
foxdev_7:аксиомы [15.01.2019 07:05] admin |
foxdev_7:аксиомы [10.05.2019 23:08] admin Approved(admin 2019/05/10 23:09) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{indexmenu_n>20}}\\ | + | {{indexmenu_n>20}} |
Инструкция написана в стиле для суровых бородатых прагматиков, это сделано специально тк перфекционизма у вас и так море.\\ | Инструкция написана в стиле для суровых бородатых прагматиков, это сделано специально тк перфекционизма у вас и так море.\\ | ||
Конечно, все банально и все все знают, но именно акцентирование и приоритизация дают преимущество. | Конечно, все банально и все все знают, но именно акцентирование и приоритизация дают преимущество. | ||
- | ==== Аксиома 1. Прогресс ускоряется. ==== | + | ===== Аксиома 1. Прогресс ускоряется. ===== |
**Правило 1.1 Делай только требуемое.** \\ | **Правило 1.1 Делай только требуемое.** \\ | ||
Строка 20: | Строка 20: | ||
Время жизни ПО и технологий ограниченно, разрабатывать 5 лет, чтобы потом 1 год использовать - это глупость, соотношение должно быть 1 год разработки к 5 лет использования минимум. | Время жизни ПО и технологий ограниченно, разрабатывать 5 лет, чтобы потом 1 год использовать - это глупость, соотношение должно быть 1 год разработки к 5 лет использования минимум. | ||
- | **Правило 1.4 Priority: Users, Developpers, Machine** \\ | + | **Правило 1.4 Priority: Users, Developers, Machine** \\ |
Приоритет при выборе решений: сначала удобство для пользователей, потом удобство для программистов, и только при самой крайней необходимости, оптимизация для компьютера. | Приоритет при выборе решений: сначала удобство для пользователей, потом удобство для программистов, и только при самой крайней необходимости, оптимизация для компьютера. | ||
Строка 26: | Строка 26: | ||
У программы должны быть дефалты на все, чтоб без чтения док и без правки конфига можно было использовать, документация должна быть встроенной и обязательно с конкретными примерами. Большинство OpenSource программ не работает из коробки, например postfix,squid,nginx мы считаем это неверным, все должно работать сразу или с минимальными обязательными параметрами.\\ | У программы должны быть дефалты на все, чтоб без чтения док и без правки конфига можно было использовать, документация должна быть встроенной и обязательно с конкретными примерами. Большинство OpenSource программ не работает из коробки, например postfix,squid,nginx мы считаем это неверным, все должно работать сразу или с минимальными обязательными параметрами.\\ | ||
- | ==== Аксиома 2. Сложность систем растет. ==== | + | ===== Аксиома 2. Сложность систем растет. ===== |
**Правило 2.1 Не усложняй, используй бритву Оккама и принцип KISS.** | **Правило 2.1 Не усложняй, используй бритву Оккама и принцип KISS.** | ||
Строка 40: | Строка 40: | ||
Правила постройки кирпичиков, блоков и зданий схожи. | Правила постройки кирпичиков, блоков и зданий схожи. | ||
- | ==== Аксиома 3. Человек ограничен, учитывай природу человека ==== | + | ===== Аксиома 3. Человек ограничен, учитывай природу человека ===== |
Human nature, Human factors, Human limitations, Human readable, Different skills - миссия, идея, продукт, процесс разработки, архитектура ПО, стиль кода и все все все остальное должны учитывать человеческую природу, ограниченность человеческих возможностей. | Human nature, Human factors, Human limitations, Human readable, Different skills - миссия, идея, продукт, процесс разработки, архитектура ПО, стиль кода и все все все остальное должны учитывать человеческую природу, ограниченность человеческих возможностей. | ||
Строка 98: | Строка 98: | ||
Близкие подходы:\\ | Близкие подходы:\\ | ||
**Keep it short and simple ** [[https://ru.wikipedia.org/wiki/KISS_(принцип)|https://ru.wikipedia.org/wiki/KISS_(принцип)]]\\ | **Keep it short and simple ** [[https://ru.wikipedia.org/wiki/KISS_(принцип)|https://ru.wikipedia.org/wiki/KISS_(принцип)]]\\ | ||
- | **Почему опытные разработчики пишут тупой код** [[https://habrahabr.ru/post/347166/]]\\ | + | \\ |
+ | |||
+ | <code bash> | ||
+ | Почему опытные разработчики пишут тупой код https://habrahabr.ru/post/347166/ | ||
+ | Код — это общение между людьми и инструкции для компьютера, но значительно больше первое, чем второе. Компилятор сам заботится о преобразовании написанного программистом в машинный код. Часто имеет место несколько слоёв такого преобразования, например, когда Java компилируется в байт-код, который считывается виртуальной машиной и транслируется в итоге в нули и единицы. | ||
+ | |||
+ | Но код — это человеческий язык. Он объясняет все «кто», «что», «когда», «где», «как» и «почему» задачи, заодно давая инструкции компьютеру. Он должен иметь смысл и пять лет спустя, когда компания будет продана, и новая команда, никогда не видевшая этого кода, откроет его для улучшения и исправления. | ||
+ | </code> | ||
\\ [[:open_carbon_7:принципы|Читать далее: Принципы Open Carbon 7]] | \\ [[:open_carbon_7:принципы|Читать далее: Принципы Open Carbon 7]] |