- 1
- 2
- 3
- 4
- 5
Если Стрк.Контрагент.ИНН = "7702691545" Тогда
ТекДок.Грузополучатель = Справочники.Контрагенты.НайтиПоКоду("000401789");
ИначеЕсли ПоХенкелю Тогда
ТекДок.Грузополучатель = Заявка.Контрагент;
КонецЕсли;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−97
Если Стрк.Контрагент.ИНН = "7702691545" Тогда
ТекДок.Грузополучатель = Справочники.Контрагенты.НайтиПоКоду("000401789");
ИначеЕсли ПоХенкелю Тогда
ТекДок.Грузополучатель = Заявка.Контрагент;
КонецЕсли;
Навряд ли конечно кто-то из тех кто пишет такой код, читает этот сайт, но всё же обращаюсь к ним. Вот скажите, есть какой-то негласный принцип так писать? У вас какой-то орден масонский, где вас так учат делать? Расскажите же про свой негласный кодекс хорошего программиста! Просто я много где поработал, и постоянно в коде такое говно, написанное разными людьми. Генезис такого говна понятен: приходит тупорылый менеджер и приносит не менее тупорылую хотелку, но ведь вы программист, а значит вы должны видеть за деревьями лес.
В каждой задаче нужно видеть за деревьями лес - вот принцип хорошего кода. Если менеджер пришёл 1 раз, он 100% придёт ещё раз, и принесёт подобную задачу. Не лучше ли сейчас немножко посидеть, написать ХОРОШО а в следующий раз решить подобную задачу за 1 минуту и дальше сидеть и пинать говно? Не лучше?!
Что значит хорошо? Хорошо, это когда ваше решение шире задачи, а задача которую вам дали всего лишь частный случай того функционала, который вы реализовали. 1 - Мыслить нужно шире.
Так же надо чётко разделять ту информацию которая хранится в базе, и имена переменных. Если наименование контрагента "Хенкель" то какого члена в тексте делает переменная "КонтрагентХенкель"?! Предопределенные элементы - это максимум хардкода, который приемлем. Вы вообще слышали про компиляцию? Компиляция процесс необратимый, и часто её делать нежелательно, поэтому максимум параметров надо выносить во всевозможные настройки и параметры, чтобы можно было их поменять на ходу. Ладно. Вы всё равно нифига не поймёте.
1024-- 20.02.2016 17:23 # +11
Кто мало в нормальных условиях программировал, напишет общий код. Те же, кого нелёгкая погрузила в чан с внезапно меняющимися требованиями, горящими сроками и хроническим непониманием задачи, уже пишут только то, что надо.
Написал один раз обобщённый код, написал второй раз, третий. Следующее изменение вообще никак не затронуло предыдущие. Оказалось, что ты сделал обобщённый код в той плоскости, в которой будет существовать только этот конкретный случай, но изменения пришли в другие измерения, а там у тебя дублирование и свичи. Переписываешь, добавляешь новую плоскость в пространство универсального кода, но оказывается, что это не плоскость, а просто какая-то парабола, которая лежит в этой плоскости. Потом понимаешь, что каждый раз пишешь новый конкретный случай обобщённого кода и либо переползаешь в более предсказуемую предметную область, либо пишешь каждый раз новый конкретный случай конкретного кода. А новый программист обнаруживает, что один твой обобщённый код не протестирован и годится только для пары случаев, другой настолько обобщённый, что уже никто не помнит, как его запустить. Новый программист удаляет твой красивый обобщённый код и пишет свой тупой и конкретный. Ты сидишь и рожаешь свои сто строк по-твоему универсального кода, а он пишет десять строк своего говнокода. Ты обобщаешь, а он вставляет комментарии и пишет новый говнокод. Остаёшься в итоге со взволнованным чувством прекрасного, а он - с деньгами. Он покупает себе скрипку, о которой всегда мечтал.
Проекты, которым вы отдавали силы, загибаются одновременно. И твои 100К строк обобщённого кода, и его 10К говнокода после пары лет правок уже никуда не годятся. Ты спрашиваешь его, как он жил. Он отвечает, что решал задачу. А ты? А ты только ждёшь её и готовишься. Ждёшь свой идеальный день, когда новое требование войдёт в рамки твоего идеального обобщённого кода.
Dummy00001 22.02.2016 13:07 # +1
Это грёбаная тенденция пытаться писать всегда обобщенный код просто говно. Видел не один man/year на это просраный.
Народ пытается продавать это как чудо-свойство ОО, но даже аксакалы OO (Буч) писали что надо всегда от конкретного к обобщенному идти, а не наоборот.
mrbus 07.06.2016 23:34 # 0
guestinho 08.06.2016 00:21 # +2
bormand 22.02.2016 13:21 # +1
guestinho 08.06.2016 00:35 # +1
planaric 20.02.2016 17:48 # 0
Kommanch 22.02.2016 13:43 # 0
levxxx 25.02.2016 14:56 # 0
Kommanch 25.02.2016 15:17 # 0
levxxx 25.02.2016 16:37 # 0
guest 27.02.2016 15:52 # +1
P.S. Никто не спорит, что приведенный код, ну как минимум, странный. Также я не спорю, что документация нужна, но, она не всегда возможна.
bot 26.02.2016 13:08 # 0
Производство мыла; моющих, чистящих и полирующих средств; парфюмерных и косметических средств.
В течение последних 12 месяцев компания начинала арбитражные производства, выигрывала госконтракты.
С такими ребятами лучше не спорить.
guest 26.08.2016 13:54 # 0
Гораздо проще же прямо в коде указать разрешение для Справочники.Пользователи.НайтиПоНаименов анию("Баба Валя Вахтерша");
guesto 26.08.2016 14:01 # 0
Vadim_fve 02.12.2016 04:51 # 0
Но, возможно, тем у кого полно времени мыслить шире и писать длинные посты на "говнокоде" этого не понять.
bormand 02.12.2016 06:44 # 0
AnalniyTerzatel 02.12.2016 12:11 # 0
guest 14.02.2017 13:18 # 0