Невыносимая легкость бытияТрудность принятия простых решений
Денис Филеев, ITSpring 2015
Содержание
почему простота важна
Содержание
почему простота важна
простое vs. легкое
Содержание
почему простота важна
простое vs. легкое
простота в коде
Содержание
почему простота важна
простое vs. легкое
простота в коде
простота в организации
–Anonymous Engineer
“Do you control your complexity or does it control you?”
–C.A.R. Hoare, Turing Award Lecture (1980)
“...there is one quality that cannot be purchased... — and that is reliability. The
price of reliability is the pursuit of the utmost simplicity.”
–Edsger W. Dijkstra
“To quote C.A.R.Hoare:“And simplicity is the unavoidable price
which we must pay for reliability.”
просто легко
vs. сложно vs. тяжело
просто легко
vs. сложно vs. тяжело
объективно относительно
просто легко
vs. сложно vs. тяжело
объективно относительно
характеристика качестване имеет отношения к
качеству
Простота - это трудно
Простотой можно пренебречь на
короткой дистанции
Легкие решения в долгосрочной
перспективе отнимают скорость
Откуда берется сложность?
Откуда берется сложность?
Неотъемлемая
Откуда берется сложность?
Неотъемлемая
Привнесенная (нами)
Откуда берется сложность?
НеотъемлемаяПривнесенная (нами)
Откуда берется сложность?
Неотъемлемая
Привнесенная (нами)
StateControl
Code volume
StateControl
Code volume
…
Простота важнее, чем тесты и рефакторинг
CodeCity visualization of JDK v1.5
Не намного лучше, чем подсчет LoC
–C.A.R. Hoare
“Premature optimization is the root of all evil in programming.”
Императивный или декларативный стиль - это
не (только) про языки программирования
Программирование - общественная деятельность
–M. Conway, 1968
“Organizations which design systems ... are constrained to produce designs which
are copies of the communication structures of these organizations.”
Сложность коммуникаций
проникает в код
Agile ценит простоту
Simplicity – the art of maximizing the amount
of work not done – is essential.
Simplicity – the art of maximizing the amount
of work not done – is essential.
не путать c:
maximazing amount of thinking not done
Simplicity – the art of maximizing the amount
of work not done – is essential.
не путать c:
maximazing amount of thinking not done
Не поощрять легких решений
Легко давать и получать обратную
связь
Культура проще, чем инструкции