|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.02.2010, 08:10 | #1 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
KISS
Keep It Simple, Stupid. - Commandment of Developers.
Столкнулся с ситуацией, когда первоклассный код(100% согласованность со спецификациями и соглашениями), который основан на базе детального проектирования на UML (RUP), с огромными возможностями для расширения был оценен на 3 из 10 балллов. На вопрос "Что не так?" был довольно длинный ответ с кучей критики: 1. рядовые разработчики не способны понять код. 2. жертвование пониманием кода в пользу быстродействия (да, есть такое - пара методов для расширенной (де)сериализации очень туги для понимания, но их задача снижать нагрузку на самые узкие места - выгода очевидна) 3. использование очень сложных фреймворков(это я как понял продолжение 1-го пункта). 4. UML диаграммы слишком детально проработаны, внедрение нового функционала повлечет добавление нового функционала как в диаграммы так и в код(тут я афигел по полной, а разве новый функционал не должен добавляться в uml для оценки влияния на остальной функционал?) Собственно вопрос - зачем совершенствовать свои знания и умения, если их нельзя применять? Или мне просто не повезло с заказчиком(подрядчиком)?
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
22.02.2010, 08:24 | #2 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
|
||
22.02.2010, 08:34 | #3 | ||
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
Цитата:
Совпадение с ТЗ полное(любые библиотеки и фреймворки, которые не влияют на остальные части ПО разрешалось использовать) Цитата:
С первыми двумя доводилось уже встречаться, удавалось аргументированно доказывать правильность своего выбора.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
||
22.02.2010, 08:42 | #4 | |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Цитата:
- Нет так не пойдет, это на английском, я не понимаю! Честно-говоря не понимаю какой смысл заказчику понимать ваш код. ООП то для того и придумали что б расширять чужой код не понимая как он работает.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
|
22.02.2010, 08:51 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
О каких фреймворках они вообще говорят?
I'm learning to live...
|
|
22.02.2010, 08:58 | #6 | |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
Цитата:
Потом получил разрешение для Hibernate, ну и начал юзать его в полную силу. Ругались именно на то что использовал не helloword'ный функционал, а довольно сложные механизмы(много внешних связей в таблицах, использование HQL на всю его мощь и тд).
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
|
22.02.2010, 09:02 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну стало быть тебе только посочувствовать можно )
I'm learning to live...
|
22.02.2010, 09:33 | #8 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
А если честно, как это все влияет на производительность - весь этот дополнительный парсинг, многоуровнвые классы итд? Или все это явным или не очень, образом заставляет Java-машину оптимизировать компилируемый байт-код ?
"Тяжело в учении, легко в бою" - А.В. Суворов
|
22.02.2010, 09:51 | #9 | |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
Цитата:
Hibernate нужен для того чтобы сделать ПО почти независимым от вендора базы данных(+ запросы он оптимизирует хорошо), плюсом избавится от необходимости писать кучу сложных SQL запросов для добавления/обновления данных. Spring (MVC модуль) нужен для эффективного отделения графики от логики - чтобы не смешивать все и облегчать поддержку и изменять отображение без необходимости менять логику. Сериализацию и Десериализацию( java.io.Externalizable ) детально делал для отбрасывания ненужной информации и сжатия нужной - обмен сообщениями будет очень масштабный - сетевой канал может быть нагружен катастрофически.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
|
22.02.2010, 10:15 | #10 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
KISS - это хорошо, но не всегда уместно. Зачастую приходится сильно жертвовать читабельностью кода, чтобы увеличить быстродействие. Ведь главный параметр работы кода - его скорость. Если бы я был заказчиком, то меня более интересовала скорость, нежели читабельность. Если заказчику не нравится, то как уже было сказано, гоните его в шею.
pushl $0x18E3DF6B
call ICQ |