Обновить
24
0
Голованов Владимир@Colwin

Senior Java Developer

Отправить сообщение
В обоих смыслах )
Изменение кода с изменением семантики — это уже не рефакторинг. Рефакторинг — изменение кода без изменения функции, реализуемой этим кодом.
А очень хорошие программисты понимают, как тот код будет развиваться, и оставляют самоочевидные места расширения. Высший пилотаж, который средним программистам обычно на первый взгляд незаметен, и только потом когда понадобится что-то дописать, скажешь: «Круто! Предусмотрел ведь!»
Такие статьи мало что дают новичкам.
Как правило — прививание чужого мнения и, как следствие, перекрытие своего личного опыта этим самым «авторитетным» мнением.
Поэтому братья за подобные измышления всерьез имеет смысл только в том случае, если Вы действительно хотите написать полноценный, качественный труд, рецензированный и одобренный профессионалами, редакторами и т.д. и т.п.
Вы не поверите, очень многие программисты среднего и чуть выше среднего уровня знают по своему опыту все то, что Вы можете предложить в такой вот короткой форме, без конкретных сравнений «за» и «против» в каждом отдельном случае. А программистам низкого уровня категорически не советую читать подобные статьи. Лучше воспользоваться авторитетным источником — там гораздо более полно и толково описано, и при этом поясняется, почему — а именно это понимание и нужно новичкам.
«Экономя» таким образом можно запросто стать простой шестеренкой.
Элементарно, Watson. Достаточно не учесть какой-нибудь косвенный эффект, который создает этот код, или наоборот, используется этим кодом.
В 99% случаев это возможно.
Лучше писать так, чтобы отпала необходимость в комментариях :-)
Сказали — при звонке нажми красную кнопку, так и сделаю, нафиг мне разбираться, что потом будет.
Примерно так.
Если IDE не поддерживает такое позиционирование автоматом — здравствуй, ужас, как только начнется рефакторинг…
В более узлом варианте получим давно известное суждение: учись на чужих ошибках :-)
Лучше DSL на framework'е :-) Чтобы еще и фантазию развивать :-)
Кстати, советую при копировании пересмотреть и, по возможности, переименовать все переменные под свой контекст. Тоже помогает в осмыслении, и при этом не нужно механически копировать.
У меня есть внутреннее ограничение на copy-paste: копируй не больше одного блока размером не более 10-20 строк, отрефактори его, интегрируй, а потом уже продолжай дальше.
Опять же потому что обычно код пишется «чтобы работал», а не «чтобы его можно было вытащить и переиспользовать».
Как уже правильно заметили, для реального производства необходимо учитывать «сбои», «колебания» и чрезвычайные ситуации. Т.е. система должна уметь перестраивать расписание с минимальными изменениями, а также учитывать время, необходимое на согласование и перенастройку процесса.
У Вас это учитывается, или предполагается ручное урегулирование процесса в подобной ситуации (т.е. выполняется только моделирование самой логистики)?
Сначала найди в нем линейный порядок, чтобы можно было сортировать :-)
Oracle — говорящее за себя название :-)
Никто не знает, как оно работает :-)
Не совсем так.
Согласно контракту при изменении hashCode с точки зрения HashMap мы имеем другой объект ключа.
Со всеми вытекающими.

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Дата рождения
Зарегистрирован
Активность