metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2014-09-11 09:48 pm

Пикейное жилетство от ИТ

В процессе срачей про вечные двигатели и обсуждения доисторических языков типа хаскеля с канадскими линуксоидами посетила следующая идея: проблемы с софтовой индустрией сводятся к трем вещам:

* Качественный софт на самом деле никому не выгоден, про что упоминает [livejournal.com profile] vit_r

* Нормальных средств разработки UI как не было, так и нет. Просто нет, от слова совсем. Если сравнить достижения в разработке кишков софта и UI - небо и земля. Все потому, что UI надо разрабатывать, общаясь с пользователями, а еще лучше с психиатрами по эргономике, а асоциальным программистам это внутренний паук запрещает. И вообще психиаторы их всех в психушку сдадут, как только про удобный интерфейс гита узнают.

* Мейнстримные инструменты плохо умеют в целостность данных. Если бы не отцы-основатели реляционной модели, транзакции и ебические объемы данных у главных платежеспособных заказчиков типа банков, в которые ничто, кроме реляционных СУБД, толком не умеет - вся индустрия умерла бы давно, в мучениях.

[identity profile] stdray.livejournal.com 2014-09-12 01:07 am (UTC)(link)
>если поменяли вот это поле и введено вон то поле, то (не) нужно пересчитывать вон те поля.
Это (бизнес) логика

>если в прошлый раз меняли вон то, а в этот раз меняют вот это, то (не) нужно пересчитывать вон те поля.
Это (судя по всему) какие-то оптимизации.

Просто пересчитываейте все.

>число таких зависимостей растет как минимум как квадрат числа полей.
Число зависимостей прописано в ТЗ (или выводится из бизнес-логики). Программисту остается реализовать лишь одну ф-цю вида
User State -> (Business Logic )-> Business Result -> User State
где User State - это поля, чекбоксы и все остальное, что видет и трогает пользователь.

>примерно на 8 параметрах эта простая задача превратится в примерно непосильную.
Нет такой зависимости. Если у вас калбак_через_калбак (и мир не синхронный), то да. А в общем случае - нет. И это не общие, а конкретно ваши проблемы.

>автосдизайнить гуй
Это миф.

[identity profile] tonsky.livejournal.com 2014-09-12 08:53 am (UTC)(link)
>> если в прошлый раз меняли вон то, а в этот раз меняют вот это, то (не) нужно пересчитывать вон те поля.

> Это (судя по всему) какие-то оптимизации.

Не оптимизация, это подгон под ожидаемое поведение. Эвристика. Если я фиксирую сумму, потом двигаю первое слагаемое, а потом второе, то ожидается что прыгать-скакать должно третье. Тут поведение далеко за уровнем «onClick» и автогенераторов.