Аксиомы

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
foxdev_7:аксиомы [04.09.2018 07:08]
127.0.0.1 внешнее изменение
foxdev_7:аксиомы [20.05.2019 15:18] (текущий)
Строка 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 - миссия,​ идея, продукт,​ процесс разработки,​ архитектура ПО, стиль кода и все все все остальное должны учитывать человеческую природу,​ ограниченность человеческих возможностей.
Строка 75: Строка 75:
 Много логировать.\\ Много логировать.\\
 Выводить подробный стек ошибок до строчки кода прямо пользователю в расширенное окно ошибки.\\ Выводить подробный стек ошибок до строчки кода прямо пользователю в расширенное окно ошибки.\\
 +Для облачного сервиса и аутсорсинга ошибки можно слать админу разработчика,​ но очень громко.\\
 +Лучше лишний раз послать ошибку директору или клиенту,​ чем потерять ее и не исправить.\\
 Человекопонятные имена и константы.\\ Человекопонятные имена и константы.\\
 Человекочитаемые текстовые протоколы. Человекочитаемые текстовые протоколы.
Строка 96: Строка 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/​]]\\+\\
  
- \\ [[:​open_carbon_7:​принципы|Читать далее: Принципы ​Open Carbon ​7]]+<code bash> 
 +Почему опытные разработчики пишут тупой код https://​habrahabr.ru/​post/​347166/​ 
 +Код — это общение между людьми и инструкции для компьютера,​ но значительно больше первое,​ чем второе. Компилятор сам заботится о преобразовании написанного программистом в машинный код. Часто имеет место несколько слоёв такого преобразования,​ например,​ когда Java компилируется в байт-код,​ который считывается виртуальной машиной и транслируется в итоге в нули и единицы. 
 + 
 +Но код — это человеческий язык. Он объясняет все «кто», «что», «когда»,​ «где», «как» и «почему» задачи,​ заодно давая инструкции компьютеру. Он должен иметь смысл и пять лет спустя,​ когда компания будет продана,​ и новая команда,​ никогда не видевшая этого кода, откроет его для улучшения и исправления. 
 +</​code>​ 
 + 
 + \\ [[foxdev_7:​принципы|Читать далее: Принципы ​Foxdev ​7]]
  
  
 ~~OWNERAPPROVE~~ ~~OWNERAPPROVE~~