|
Быдлокод | ☑ | ||
---|---|---|---|---|
0
Маленький Вопросик
20.08.11
✎
17:23
|
Как считают местные обитатели, что такое быдлокод? И кто в праве оценивать его "быдлокодовость", если и так все работает?
|
|||
1
byxtello
20.08.11
✎
17:24
|
неоптимальный код работает при 1-3 пользователей
а уже при 10 юзерах он становится быдлокодом |
|||
2
IamAlexy
20.08.11
✎
17:25
|
(0)канонически: быдлокод это все что написал программист "до тебя"
|
|||
3
kosts
20.08.11
✎
17:28
|
||||
4
Маленький Вопросик
20.08.11
✎
17:29
|
(2) да, почему-то все понимают (даже некоторые заказчики), что после кого-то надо переписывать все заново...
|
|||
5
Wobland
20.08.11
✎
17:29
|
>и так все работает
вот вообще ни разу не аргумент |
|||
6
kosts
20.08.11
✎
17:37
|
Вот пример встречал, думаю что это точно быдлокод. Печать графика из типовой ЗУП.
вместо
|
|||
7
Wobland
20.08.11
✎
17:39
|
(6) ты сейчас о чём? какой из кусков был в конфигурации? что, Год хранится в документе?
тэги в лайфе не работают. я бы сделал так: Запрос.УстановитьПараметры("Года", Год(Документ.Дата), а вообще, год в самом запросе легко определяется |
|||
8
kosts
20.08.11
✎
17:42
|
(7) Год графика он определял из даты документа, которая могла и не совпадать с годом графика...
|
|||
9
Злобный Фей
20.08.11
✎
17:43
|
(6) Фигня. Вот как надо:
Год = Число(СтрПолучитьСтроку(СтрЗаменить(СокрЛП(Документ.Дата),".",Символы.ПС),3)); |
|||
10
Alexandr Puzakov
20.08.11
✎
17:43
|
Вот составные части 1Сного быдлокода:
- неправильное использование объектов встроенного языка; - абы как именованные переменные; - плохо организованная структура кода (наличествуют процедуры ТЗ(), Печать1(), Печать2() и т. п.); - совершенно лишние куски кода; - изобретение кривых велосипедов там, где имеются гибкие встроенные механизмы; - дублирование кода из модуля в модуль, хотя некоторый код на ура можно было бы вынести в общие модули; - получение запросами лишних данных; - отсутствуют какие-либо комментарии в коде; - неправильные алгоритмы, через раз выдающие нормальный результат; - прочие. |
|||
11
Steel_Wheel
20.08.11
✎
17:44
|
C#
bool b; b = false; if !(b.ToString.Length() > 4) { } |
|||
12
andrewks
20.08.11
✎
17:49
|
типовая Бухия 7.7
Функция РубКоп(Сумма) Руб=Цел(Сумма); Коп=ОКР(100*(Сумма-Руб),0,1); СуммаРубКоп=""+Руб+"руб."+Цел(Коп/10)+(Коп-10*Цел(Коп/10))+"коп."; Возврат СуммаРубКоп; КонецФункции |
|||
13
Wobland
20.08.11
✎
17:50
|
(11) не, ну здесь явный стёб программиста. не поверю, что такое можно изобрести на полном серьёзе, зная значение слова bool
|
|||
14
Wobland
20.08.11
✎
17:52
|
а где-то ж встречалось обращение знака: а=а-2*а; потом, работает только на положительных значениях а
|
|||
15
Wobland
20.08.11
✎
17:53
|
(14) блин, вру, с отрицательными тоже
|
|||
16
ДенисЧ
20.08.11
✎
17:53
|
(14) такое сплошь и рядом в прямых запросах в 1с... Быдлокод? нуну
|
|||
17
Wobland
20.08.11
✎
17:54
|
(16) прямые запросы - это 7.7? а вообще, зависит от языка, конечно
|
|||
18
Мигрень
20.08.11
✎
17:54
|
(10) + названия переменных, функций, комментарии - матом. Но это отдельная тема.
В то же время нецензурщина как правило перемешана с основными признаками быдлокода и составляет единую феерическую картину. Храню такую конфу у себя, показывать молодым программерам. Видел в лицо и автора и даже разговаривал с ним. Вполне себе такой одноэсник с опытом около 3-х лет. |
|||
19
IamAlexy
20.08.11
✎
17:54
|
(17) 7ка вообще от начала до конца быдлокод..
|
|||
20
andrewks
20.08.11
✎
17:55
|
(19) опять срач зачинаешь?
|
|||
21
Wobland
20.08.11
✎
17:57
|
цитата из какого-то распоряжения на предприятии: запрещается использовать слово "ж0па" даже в отладочных целях. я по молодости печатную форму ценников поменял (страна производства: ж0па) и ушёл на обед, забыв вернуть всё обратно ;)
PS какой настырный матофильтр! ;) |
|||
22
ДенисЧ
20.08.11
✎
17:57
|
(19) у тебя опечатка. 8 на 7 меняется. Со своей крутой зарплаты новую клаву купи...
|
|||
23
Wobland
20.08.11
✎
17:58
|
(22) не трожь восьмёрку. по сравнению с 7.7 - конфетка
|
|||
24
Wobland
20.08.11
✎
17:58
|
+(23) срач детектед?
|
|||
25
Xapac
20.08.11
✎
18:00
|
моя работа = быдлокод
|
|||
26
Wobland
20.08.11
✎
18:01
|
(25) так вот где источник вселенского зла!
|
|||
27
ДенисЧ
20.08.11
✎
18:01
|
(23) конфетка... *овно, завёрнутое в красивую бумажку...
|
|||
28
Wobland
20.08.11
✎
18:01
|
+(26) а я думал, это предшественник такой тупой
|
|||
29
Wobland
20.08.11
✎
18:02
|
(27) предлагаю прекратить срач и завести новую ветку на эту тему. только я писать туда не буду
|
|||
30
Jolly Roger
20.08.11
✎
18:02
|
(0) явный признак быдлокода - это когда пользователи не могут работать без помощи автора...
|
|||
31
Wobland
20.08.11
✎
18:03
|
(30) это скорее недоработки на этапе проектирования, а не кодинга
|
|||
32
kiruha
20.08.11
✎
18:03
|
Неужели такой баянистый вброс (19)
еще кого то разводит ??? |
|||
33
Jolly Roger
20.08.11
✎
18:03
|
(32) отнюдь...
|
|||
34
Jolly Roger
20.08.11
✎
18:04
|
мнэ... (33) к (31)
|
|||
35
andrewks
20.08.11
✎
18:05
|
вот, недавно припёрли чью-то поделку, краткие выдержки:
Процедура ВычислитьПроцент() Если Закупка>=10000 Тогда процент = 1; иначе процент = 0; КонецЕсли; Если Закупка>=15000 Тогда процент = 1.5; КонецЕсли; Если Закупка>=30000 Тогда процент = 2; КонецЕсли; Если Закупка>=50000 Тогда процент = 3; КонецЕсли; Если Закупка>=70000 Тогда процент = 3; КонецЕсли; Если Закупка>=100000 Тогда процент = 3; КонецЕсли; КонецПроцедуры ещё: Сп = СоздатьОбъект("СписокЗначений"); Сп.ДобавитьЗначение("Январь"); Сп.ДобавитьЗначение("Февраль"); Сп.ДобавитьЗначение("Март"); Сп.Выгрузить(спис); спис.Добавитьзначение("Апрель"); спис.ДобавитьЗначение("Май"); спис.Добавитьзначение("Июнь"); спис.ДобавитьЗначение("Июль"); спис.Добавитьзначение("Август"); спис.ДобавитьЗначение("Сентябрь"); спис.Добавитьзначение("Октябрь"); спис.Добавитьзначение("Ноябрь"); спис.ДобавитьЗначение("Декабрь"); спис - список на форме, Сп более нигде не используется. и так почти везде |
|||
36
Wobland
20.08.11
✎
18:06
|
(34) нене. если ты придумал нечто, что не может работать без тебя - плохо придумал. а конкретная реализация в виде кода - ну какая разница, через назад или нет
|
|||
37
Wobland
20.08.11
✎
18:08
|
добавлю от себя. никогда не приходилось разгребать чужие конюшни, написанные _всегда_ нижним регистром? и без табуляции. а человек ведь создал продукт, который работает и используется. разгребать всё это тяжко...
|
|||
38
Jolly Roger
20.08.11
✎
18:08
|
(36) дык в том то и дело, что хороший проект нетрудно угробить неграмотной реализацией: скажем, обработка исключительных ситуаций вряд ли прописана в проекте...
|
|||
39
Маленький Вопросик
20.08.11
✎
18:09
|
(30) зачем консультанты 1с тогда?
|
|||
40
Wobland
20.08.11
✎
18:09
|
(38) уговорил. не предусмотрел обработку всех возможных состояний - быдлокодер
|
|||
41
Jolly Roger
20.08.11
✎
18:10
|
(37) гы! и аналогично, когда абсолютно каждое слово в коде начинается с большой буквы...
|
|||
42
andrewks
20.08.11
✎
18:10
|
(37) ещё хуже, когда регистры и английские/русские нотации вперемешку
вот, оттуда же: Если ((фл=1)И(ЗАКУПКА1>=10000))ИЛИ((фл=2)И(закупка1>=30000)и(закупка1<50000))или((фл=3)и(закупка1>=10000)и(закупка1<15000))или((фл=4)и(закупка1>=50000))или((фл=5)и(закупка1>=15000)и(закупка1<30000))или(фл=6) Тогда |
|||
43
Jolly Roger
20.08.11
✎
18:10
|
(39) какие консультанты?
|
|||
44
Jolly Roger
20.08.11
✎
18:12
|
+(43) типа если программа ругается на деление на ноль, консультант подсказывает, что надо заполнить, скажем, цену?
|
|||
45
luckyluke
20.08.11
✎
18:18
|
Обработка ВТБ24 пластиковые карты:
Функция сотр_АдресРегистрации(сотр) Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(); Пока Выборка.Следующий() Цикл Если сотр = СокрЛП (Выборка.Объект) Тогда Если СокрЛП(Выборка.Тип) = "Адрес" Тогда рег = Выборка.Представление; КонецЕсли; КонецЕсли; КонецЦикла; Возврат рег; КонецФункции Функция сотр_ИндексРегистрации(сотр) Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(); Пока Выборка.Следующий() Цикл Если сотр = СокрЛП (Выборка.Объект) Тогда Если СокрЛП(Выборка.Тип) = "Адрес" Тогда рег = Выборка.Поле1; КонецЕсли; КонецЕсли; КонецЦикла; Возврат рег; КонецФункции Функция сотр_РегионРегистрации(сотр) Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(); Пока Выборка.Следующий() Цикл Если сотр = СокрЛП (Выборка.Объект) Тогда Если СокрЛП(Выборка.Тип) = "Адрес" Тогда рег = Выборка.Поле2; КонецЕсли; КонецЕсли; КонецЦикла; Возврат рег; КонецФункции Функция сотр_РайонРегистрации(сотр) Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(); Пока Выборка.Следующий() Цикл Если сотр = СокрЛП (Выборка.Объект) Тогда Если СокрЛП(Выборка.Тип) = "Адрес" Тогда рег = Выборка.Поле3; КонецЕсли; КонецЕсли; КонецЦикла; Возврат рег; КонецФункции Функция сотр_ГородРегистрации(сотр) Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(); Пока Выборка.Следующий() Цикл Если сотр = СокрЛП (Выборка.Объект) Тогда Если СокрЛП(Выборка.Тип) = "Адрес" Тогда рег = Выборка.Поле4; КонецЕсли; КонецЕсли; КонецЦикла; Возврат рег; КонецФункции Функция сотр_УлицаРегистрации(сотр) Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(); Пока Выборка.Следующий() Цикл Если сотр = СокрЛП (Выборка.Объект) Тогда Если СокрЛП(Выборка.Тип) = "Адрес" Тогда рег = Выборка.Поле6; КонецЕсли; КонецЕсли; КонецЦикла; Возврат рег; КонецФункции Функция сотр_КорпусРегистрации(сотр) Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(); Пока Выборка.Следующий() Цикл Если сотр = СокрЛП (Выборка.Объект) Тогда Если СокрЛП(Выборка.Тип) = "Адрес" Тогда рег = Выборка.Поле8; КонецЕсли; КонецЕсли; КонецЦикла; Возврат рег; КонецФункции Функция сотр_КвартираРегистрации(сотр) Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(); Пока Выборка.Следующий() Цикл Если сотр = СокрЛП (Выборка.Объект) Тогда Если СокрЛП(Выборка.Тип) = "Адрес" Тогда рег = Выборка.Поле9; КонецЕсли; КонецЕсли; КонецЦикла; Возврат рег; КонецФункции Функция сотр_ДомРегистрации(сотр) Выборка = РегистрыСведений.КонтактнаяИнформация.Выбрать(); Пока Выборка.Следующий() Цикл Если сотр = СокрЛП (Выборка.Объект) Тогда Если СокрЛП(Выборка.Тип) = "Адрес" Тогда рег = Выборка.Поле7; КонецЕсли; КонецЕсли; КонецЦикла; Возврат рег; КонецФункции |
|||
46
Wobland
20.08.11
✎
18:22
|
(45) ну не знает человек о запросах. ну гвоздь ему в мозг. я тоже так делал, пока не познакомился с восьмёркой..
|
|||
47
Wobland
20.08.11
✎
18:23
|
(45) впрочем, самый что ни на есть быдлокод
|
|||
48
Luhtas
20.08.11
✎
18:24
|
(0) Мне кажется, любой из здесь присутствующих начинал с написания именно быдлокода свою деятельность. Другое дело если дальше код совершенствовался и превращался в оптимальный и красиво оформленный. Плохо если человек так и продолжает топорить три-четыре метода, не напрягая более мозги...
|
|||
49
Wobland
20.08.11
✎
18:27
|
(48) я свой быдлокод начинал с С++, к моменту принятия 1С я подошёл подготовленным. с учётом (46), конечно ;)
|
|||
50
Asmody
20.08.11
✎
18:27
|
(45) какой-то задроченный дотнетчик писал…
|
|||
51
luckyluke
20.08.11
✎
18:28
|
(46) ну он хотя бы про параметры метода Выбрать() почитал в справке, чтоли...
|
|||
52
Asmody
20.08.11
✎
18:29
|
(48) не, все мистяне сразу родились крутыми профессионалами с 22 см
|
|||
53
Wobland
20.08.11
✎
18:30
|
(52) у меня даже дочь при рождении имела 54 см, что там мистяне ;)
|
|||
54
Wobland
20.08.11
✎
18:30
|
+(53) но как 1Сник она слаба, да...
|
|||
55
Asmody
20.08.11
✎
18:31
|
(51) зачем? Доки читают только неудачники, а там — профи, по подчерку видно
|
|||
56
Маленький Вопросик
20.08.11
✎
18:33
|
мне кажется, что любая начальная версия любой программы может содержать быдлокод
|
|||
57
Wobland
20.08.11
✎
18:34
|
(56) контраргумент: Сообщить("Hello, world!");
|
|||
58
Фигня
20.08.11
✎
18:34
|
вопрос. И автор туп. Интересно, что можно наваять, если ТЗ заменяют разведением руками в воздухе со словами "вот вчера надо было, ты уж сделай сейчас да побыстрее"?
|
|||
59
ДенисЧ
20.08.11
✎
18:34
|
(57) Ага, а &наСервере?
|
|||
60
Wobland
20.08.11
✎
18:35
|
(59) плин, Новый СообщениеПользователю()... с 8.2 не близко знаком
|
|||
61
Jofa
20.08.11
✎
18:36
|
Я начинал свой быдлокодинг с чтением ЖКК + мужик в кепке помогал, потом уже когда сам поглядишь на свое го-но со стороны переделаешь его в другой раз стараешся не делать ошибки..
|
|||
62
Jstunner
20.08.11
✎
18:38
|
Быдлокод - это когда программа не работает должным образом. Все остальное - придирки и неопытность начинающих программистов, дорвавшихся до исходников
|
|||
63
Jofa
20.08.11
✎
18:38
|
Иногда быдлокодинг может появиться когды тебя торопят быстро сделать ту или ииную прогу .. тк считают раз много получаешь зп значит должон делать быстро и качественно ..
|
|||
64
luckyluke
20.08.11
✎
18:39
|
+(45) самый ништяк еще в том, что вот эти функции потом вызываются по очереди вот так:
рег_индекс = сотр_ИндексРегистрации(сотр);//сотр_Индекс(адрес_рег); рег_район = сотр_РайонРегистрации(сотр);//сотр_Район(адрес_рег); рег_город = сотр_ГородРегистрации(сотр);//сотр_Город(адрес_рег); рег_улица = сотр_УлицаРегистрации(сотр);//сотр_Улица(адрес_рег); рег_дом = сотр_ДомРегистрации(сотр);//сотр_Дом(адрес_рег); рег_корпус = сотр_КорпусРегистрации(сотр);//сотр_Корпус(адрес_рег); рег_кв = сотр_КвартираРегистрации(сотр);//сотр_Квартира(адрес_рег); |
|||
65
Wobland
20.08.11
✎
18:40
|
(62) а как же красота? если работает, но через назад - это правильно?
|
|||
66
Xapac
20.08.11
✎
18:40
|
(62)не верная постановка ответа.
у меня есть 2 программы, работают одинаково, 1-я быдлокод, 2-я нет |
|||
67
Jofa
20.08.11
✎
18:40
|
(62) +100
|
|||
68
Jofa
20.08.11
✎
18:41
|
(64)Го-нокод чё разве так бывает?
|
|||
69
andrewks
20.08.11
✎
18:42
|
(62) когда программа не работает должным образом - это ошибки, баги, неверные алгоритмы и/или структуры данных.
это всё, конечно, частые соседи быдлокодинга, но, тем не менее, надо их различать. наоборот, быдлокодинг возникает, когда новичок, не желающий долго разбираться ни с языком, ни с архитектурой системы, БД, и т.д., "быстро и качественно" начинает клепать надстройки и костыли |
|||
70
Jofa
20.08.11
✎
18:44
|
Есть мнение что если прога работает значит не трожь !
Это правильное мнение? |
|||
71
Wobland
20.08.11
✎
18:44
|
(70) да! но не хрен юзать быдлокодинг
|
|||
72
Wobland
20.08.11
✎
18:46
|
+(71) выше упоминал о предшественнике. переписываю всегда, когда натыкаюсь на его код. не от неприятия его стиля, а от того, то по-другому лучше..
|
|||
73
luckyluke
20.08.11
✎
18:47
|
(70) ты знаешь, вот эта прога из (45)+(64) выполнялась 3-4 часа при кол-ве сотрдуников около 30, мне стало как-то жаль пользователей...
|
|||
74
Jofa
20.08.11
✎
18:48
|
(73) те если видишь го-нокод тогда лучше переписать это с нуля чем править чью то поделку?
|
|||
75
Wobland
20.08.11
✎
18:48
|
(73) вспомним (0) и мой (5) ;)
|
|||
76
andrewks
20.08.11
✎
18:49
|
(74) если это повышает надёжность и производительность, то переписать даже _нужно_. особенно, если ты получаешь за это деньги
|
|||
77
Wobland
20.08.11
✎
18:49
|
(74) имхо это - признак ГКода. когда проще переписать заново..
|
|||
78
Jofa
20.08.11
✎
18:49
|
Интересно бывает такое как в звёздных войнах "Всегда двое учитель и ученик"?
|
|||
79
Wobland
20.08.11
✎
18:51
|
(78) поясни тому, кто не в курсе, плз
|
|||
80
luckyluke
20.08.11
✎
18:51
|
(74) я считаю плохо издеваться над пользователями...
|
|||
81
Jofa
20.08.11
✎
18:52
|
Ну типо у каждого человека есть свой стиль написания кода..
|
|||
82
Jofa
20.08.11
✎
18:54
|
(80)Не которые юзеры всю жизнь работают и счетают тормоза нормой, кода перепишишь код все сразу работает крута, итебя считаю Волшебником
|
|||
83
AlexNew
20.08.11
✎
18:54
|
(0) Ты кого учить собрался?
|
|||
84
Jofa
20.08.11
✎
18:54
|
(81)Не которым стиль написания даёт наставник ..
|
|||
85
Jofa
20.08.11
✎
18:55
|
+(84) те можно определить чья школа ..
|
|||
86
andrewks
20.08.11
✎
18:55
|
(81) при чём здесь стиль? тут не табуляции и разнос кода по строчкам обсуждают. тут речь ведут про код, который написан безграмотно, далёк от оптимального, тормознутый, трудночитаем, неустойчив к входным данным, с многократной обработкой одних и тех же данных, когда можно было сделать всё за раз.
как-то так |
|||
87
zak555
20.08.11
✎
18:56
|
(35) открой ОбновлениеИБ - увидишь аналогичное =)
|
|||
88
Jofa
20.08.11
✎
18:57
|
(86) го-но кодинг это стиль . .
|
|||
89
Wobland
20.08.11
✎
18:58
|
поддерпжу Jofa в (88)
|
|||
90
andrewks
20.08.11
✎
18:58
|
(88) да ну? это непрофессионализм в 95% случаях. остальные 5% - маргинальные элементы, которые пишут так сознательно
|
|||
91
Asmody
20.08.11
✎
18:59
|
есть у нас один отчетик, показывает оперативную инфу по товарам, инструмент ежедневный и частопользуемый, по-этому из 7ки был перенесен самым первым (Причем, с начальным перенесением вопросов почти не было, ибо он в 7ке был на прямых запросах в свое время переписан). Потом в этот отчет «накручивали» ещё фич, появлялись всякие хитрые штуки в конфе, и т.д. Короче, намедни зашел нач.отдела учета, что-то ему цифири в колонках не понравились. Полезли мы в код отчёта смотреть «а почему так» и поняли, что дальше так жить нельзя. Т.е. оно, конечно, работает. И даже так, что всех устраивает. Но изнутри снйчас это такая конструкция, что что-либо поменять — это серьёзные мучения.
Это не совсем Гкод, но история из жизни. |
|||
92
zak555
20.08.11
✎
18:59
|
нужно "писать" универсальность
|
|||
93
andrewks
20.08.11
✎
19:01
|
(87) да не, там нормально всё. там последовательно выполняемый и добавляемый код, и необходимо соблюсти принцип неизменности функционирования для предыдущих релизов.
а тут можно было завести табличку, возможно, даже, с возможностью редактирования юзерами с соотв.правами, и всё было бы красиво и универсально |
|||
94
zak555
20.08.11
✎
19:03
|
(93) утрировал я =)
|
|||
95
Jofa
20.08.11
✎
19:05
|
(91)Временно когда переносишь с одной платформы с 77 на 81 на другую можно. лучше потом переписать используя возможности платформы.
(92) Не всегда работает |
|||
96
Jofa
20.08.11
✎
19:06
|
(90) 5% Есть такое когда проги начинают возноситься к богам
|
|||
97
Jofa
20.08.11
✎
19:06
|
+(96) 95% не всегда бывает что человек незнает что он не правильно пишет код ..
|
|||
98
zak555
20.08.11
✎
19:07
|
(95) с чего вдруг ?
|
|||
99
rs_trade
20.08.11
✎
19:07
|
А я вот такое видел, даже не знаю как назвать...
Процедура ОбработкаПроведения(Отказ, РежимПроведения) Если ПометкаУдаления Тогда Возврат; КонецЕсли; |
|||
100
zak555
20.08.11
✎
19:07
|
сотко
|
|||
101
zak555
20.08.11
✎
19:07
|
(99) не проводить помеченные ?
|
|||
102
Jofa
20.08.11
✎
19:08
|
(99) Крута
|
|||
103
Jofa
20.08.11
✎
19:09
|
(101) Это называется нечего не делать
|
|||
104
zak555
20.08.11
✎
19:09
|
(103) не понял
|
|||
105
Jofa
20.08.11
✎
19:11
|
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Если ПометкаУдаления Тогда Не чего не делай возвращайся!! Возврат; КонецЕсли; |
|||
106
kosts
20.08.11
✎
19:13
|
Классика...
Спр = Справочник.КлассификаторВидовВремени.НайтиПоНаименованию("По тарифу") |
|||
107
Wobland
20.08.11
✎
19:14
|
(105_ автоматическое удаление движений всё сделает ;)
|
|||
108
Wobland
20.08.11
✎
19:14
|
+(107) плин, проведение помеченного документа? ;)
|
|||
109
Jofa
20.08.11
✎
19:14
|
(107) +100
|
|||
110
rs_trade
20.08.11
✎
19:15
|
(101) ага. прог молодца. предусматривает нештатные ситуации.
|
|||
111
Jofa
20.08.11
✎
19:19
|
Пример моего первого го-но кода
Если Контрагент = Справочники.Контрагенты.НайтиПоКоду(КодКонтрагентаТорговля) Тогда ...... КонецЕсли; |
|||
112
Jofa
20.08.11
✎
19:20
|
Ну я думаю поделится своим го-но кодом не зазорно
|
|||
113
Wobland
20.08.11
✎
19:25
|
(112) НайтиПоКоду() имхо не совсем быдлокод. когда нужна разовая обработка и сейчас... к тому же не очень качественный пример
|
|||
114
Domovoi
20.08.11
✎
19:25
|
(111)Тут сложно сказать кто наг0внокодил, ты или разрабы(если речь о НайтиПоКоду).
|
|||
115
Jofa
20.08.11
✎
19:27
|
(113) Удачный
Правильно Если Контрагент.Код = КодКонтрагентаТорговля Тогда .... КонецЕсли; |
|||
116
Domovoi
20.08.11
✎
19:28
|
(115)Это уже было слишком умно, что на это не обратили внимание)
|
|||
117
Wobland
20.08.11
✎
19:28
|
(155) хм, возьму на вооружение ;)
|
|||
118
Маленький Вопросик
20.08.11
✎
19:54
|
НайтиПоКоду и НайтиПоНаименованию - особо не нужны, правильнее, как (115)
|
|||
119
Холст
20.08.11
✎
19:54
|
на одном из мест работы по наследству досталось много из того что я считаю быдлокодом (все для 1С 7.7):
1. имена глобальных процедур и функций без префикса "гл" (или хотябы другой префикс) 2. 10 разных обработок загрузки банка с единственным отличием в жестко прописанным расчетным счетом нашей организации 3. ключевые слова и имена процедур без заглавных букв: "конецесли" вместо "КонецЕсли", "мояфункцияполученияданных" вместо "МояФункцияПолученияДанных" 4. (не код, но не нравится доход) наименование обработок длинные и с пробелами, вместо лаконичных сокращенных наименований (без потери возможности их идентификации конечно) 5. много кусков кода "если Пользователь = "Иванов" т.е. привязка логики кода к конкретным наименованиям/кодам справочников 6. не экономно к занимаемому пространству и криво (без идинообразия или хотябы по сетке) разбросанные реквизиты на форме 7. "брошенные" объекты метаданных, не используемые в текущей конфигурации и обработках 8. документы Счет, Реализация и Счет-фактура, некоторым (сильно меньшинству) клиентам потребовался вывод наименований товара по своему - в самих документах (в каждом при том что это подчиненные друг другу документы) в табличной части был введен реквизит типа Строка 500символов, в результате по моей оценке объем базы вырос в 2,5-4 раза |
|||
120
Jofa
20.08.11
✎
19:57
|
(119) Это суровый быдлокод
|
|||
121
Холст
20.08.11
✎
19:58
|
(119) "4 не код но не нравится ПОДХОД"
"6 (без Единообразия") |
|||
122
Jofa
20.08.11
✎
20:08
|
По поводу обработок это 1Ска их так сохраняет ... Каждый раз не будешь переименовывать
|
|||
123
CepeLLlka
20.08.11
✎
21:05
|
Пока 1 = 1 Цикл
Поз = Найти(Стр, Разделитель); Если Поз = 0 Тогда Если (СокрЛП(Стр) <> "") Тогда МассивСтрок.Добавить(Стр); КонецЕсли; Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз - 1)); Стр = Сред(Стр, Поз + ДлинаРазделителя); КонецЦикла; |
|||
124
CepeLLlka
20.08.11
✎
21:06
|
Парни.. подскажите почему в этом коде (123) Задают цикл на 1 раз.. зачем тогда цикл нужен?
|
|||
125
byxtello
20.08.11
✎
21:09
|
(124) цикл не на 1 раз - идет разбор Стр
|
|||
126
CepeLLlka
20.08.11
✎
21:11
|
А без цикла его разложить нельзя? Или я что-то не понимаю?
|
|||
127
CepeLLlka
20.08.11
✎
21:14
|
Ну да.. не на 1 раз.. там же "Пока", а не "Для"
Ну 1 ведь всегда будет = 1, значит зацикливается? Что я упускаю? :( |
|||
128
byxtello
20.08.11
✎
21:15
|
||||
129
Злопчинский
20.08.11
✎
21:16
|
(127) там Возврат внутрях
|
|||
130
Злопчинский
20.08.11
✎
21:17
|
Да нету быдлокода.. есть или работающий или неработающий код...
|
|||
131
CepeLLlka
20.08.11
✎
21:19
|
(129) Спасибо.
|
|||
132
andrewks
20.08.11
✎
21:32
|
(123) иногда действительно бывает необходимо делать такие псевдо-"вечные" циклы. но зачастую это неоправданно, как и в данном случае. например, лучше, на мой взгляд, сделать так:
Поз=-1; Пока Поз>=0 Цикл Поз = Найти(Стр, Разделитель); Если Поз = 0 Тогда Если (СокрЛП(Стр) <> "") Тогда МассивСтрок.Добавить(Стр); КонецЕсли; Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз - 1)); Стр = Сред(Стр, Поз + ДлинаРазделителя); КонецЦикла; |
|||
133
andrewks
20.08.11
✎
21:33
|
+(132) извиняюсь, в начале Поз=0; конечно
|
|||
134
andrewks
20.08.11
✎
21:34
|
или так:
Поз=Найти(Стр, Разделитель); Пока Поз>=0 Цикл Если Поз = 0 Тогда Если (СокрЛП(Стр) <> "") Тогда МассивСтрок.Добавить(Стр); КонецЕсли; Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз - 1)); Стр = Сред(Стр, Поз + ДлинаРазделителя); Поз = Найти(Стр, Разделитель); КонецЦикла; |
|||
135
andrewks
20.08.11
✎
21:37
|
в (123) аналог конструкции do {} while, которой нет в языке 1С
|
|||
136
Aleksey
20.08.11
✎
21:38
|
(10)
В топку список "изобретение кривых велосипедов там, где имеются гибкие встроенные механизмы; " Ты хоть раз пробовал вставлять в свои отчеты вызов типовых процедур из ГМ. А я пробовал, к 3-му релиза забодался разбираться куда они в этот раз перенесли процедуру (в какой ГМ) и за что теперь отвечают новые параметры. |
|||
137
andrewks
20.08.11
✎
21:40
|
(136) не, ну если имеются в виду механизмы платформы, то озвучено верно. другое дело, что не всегда надо им руководствоваться. тут только поставленная задача и здравый смысл помогут определится. яркий пример - работа с xml в 7.7 ч/з штатную v7plus никуда не годится
|
|||
138
CepeLLlka
20.08.11
✎
21:41
|
Я и заметил что они по разному делают.. в одном месте так разбирают строку.. в другом иначе..
|
|||
139
Aleksey
20.08.11
✎
21:44
|
(137) Ну если исходить из (1), то перебор на языке 1С по сравнению с прямым запросом - быдлокод
|
|||
140
popcorn
20.08.11
✎
21:44
|
Интересно, есть аналог YUI Compressor для 1С ? Я бы его использовал )))
|
|||
141
bazvan
20.08.11
✎
21:45
|
Вот веть офигеть.
Даже незанаю как сказать что бы не получить. Смешные, особенно некоторый он даже на т1с пытается свой писюн выстовить. смешной чесслово |
|||
142
proger2011
20.08.11
✎
21:53
|
Быдлокод это когда процедуры и функции больше одного экрана и глобальные переменные.
|
|||
143
zak555
20.08.11
✎
22:07
|
(134) нет переменной поз
хотя не знаю, что это в 8 значит |
|||
144
CepeLLlka
20.08.11
✎
22:20
|
(143) Да ты чё.. это же просто переменная которая указывает на позицию разделителя..
|
|||
145
CepeLLlka
20.08.11
✎
22:24
|
Никак не могу разобраться с печатью этой :( Мозга не хватает :( Хнык, хнык...
|
|||
146
cViper
20.08.11
✎
22:46
|
(119) В пятницу видел в конфе кусок кода, в котором с структуру записывались имена директоров(соответствует пункту 5) и как-то там обрабатывались. Наиболее оптимальный(безопасный) способ в такой ситуации использовать предопределенный элемент справочника? Может быть даже регистр?
|
|||
147
Злопчинский
20.08.11
✎
22:54
|
(142) быдлокод, это когда где надо и не надо функции и процедуры ляпают, да еще с выносом в глобмодуль... а потом удивляются - а чего так медленно...
|
|||
148
Лефмихалыч
20.08.11
✎
22:57
|
(0) быдлокод - это такой код, который кодит быдлокодер. Это ж очевидно.
ЗЫ Так-то |
|||
149
andrewks
20.08.11
✎
22:58
|
(148) жди следующую ветку от ТС "Как вы думаете, кто такие быдлокодеры?" :)
|
|||
150
Лефмихалыч
20.08.11
✎
23:09
|
(149) жду с нетерпением, у меня уж и банхаммер с надписью "за беспробудный вндализм и тупую копипасту самого себя" в руках
|
|||
151
proger2011
20.08.11
✎
23:23
|
(147) Я уж думал не дождусь поклонников оптимизации и любителей процедур в 2000 строк.
|
|||
152
Злопчинский
20.08.11
✎
23:48
|
(151) открой в типовой бухии 7.7 какой-нибудб код по зарплате/НДФл - и втыкай до изнемозжения.. ;-)
|
|||
153
proger2011
21.08.11
✎
00:12
|
(152) А что там? Я с 7.7 уже лет 6 не работал. Там портянки штоли, ну так типовые далеко не образец для подражания.
|
|||
154
VasilyKushnir
21.08.11
✎
00:12
|
Да не спорьте вы , ребята. Знаю одного проггера и весьма нефигового (не 1с-ника, хотя 1С он тоже занимается по необходимости), который считает, что быдло-код = это все, что не он написал. И что интересно - он где-то прав... Не буду скромничать - сам иногда так считаю (хотя есть гуру, перед которыми сниму шляпу и поклонюсь). А все потому, что нет предела совершенству (это не я придумал) и любую программу можно оптимизировать и совершенствовать до бесконечности. Следовательно: совершенству нет предела и соответственно определения. То же можно сказать о быдлокоде, если идти от обратного. Не забываем, что бадлокодируемая, но работающая обработка сегодня всегда лучше самой красивой и оптимальной, но заработающей (и то еще вопрос) через год.
|
|||
155
Aleksey
21.08.11
✎
00:30
|
(154) Совершенство без контекста есть null.
Ибо совершенство зависит от системы координат |
|||
156
Aleksey
21.08.11
✎
00:32
|
Можно привести базу к нормальной формы Бойса — Кодда
Но тогда придется данный получать методом как в (0) Зато с точки зрения нормализации - база будет совершенна |
|||
157
VasilyKushnir
21.08.11
✎
00:41
|
(155) "Ибо совершенство зависит от системы координат" +10000
Этим ты полностью подтвердил мою мысль, но более лаконично (браво!). Смени систему координат (цена , сроки и т.д и т.п.) и быдлокод уже не совсем быдлокод. Хотя... Если помои посолить, они лучше пахнуть не станут (с) Ликвидация - Фима. |
|||
158
syktyk
21.08.11
✎
00:41
|
Не может быть ни одного прога, который бы не написал быдлокод. Хоть один раз в своей жизни. Аксиома.
|
|||
159
VasilyKushnir
21.08.11
✎
00:49
|
(158) +100500 Иногда (как выпадает немного свободного времени на работе, хотя это редкоо бывает), свои старые обработки переписываю с нуля. Зачастую ради повышения быстродействия. Об одной (написанной года 4 назад) уже и забыл - оказывается пользуются! Отойдя от шока, переписал. Вместо 30-40 минут (писалась обычными запросами под ДБФ-ную базу) отрабатывает 2-3 минуты (прямые запросы, но уже на скуле).
|
|||
160
syktyk
21.08.11
✎
00:56
|
(159) Ага, я споминаю бесмертное - "Над кем смеетесь? Над собой смеетесь!"
ЗЫ. А пасаны просто такого и не знают :) |
|||
161
syktyk
21.08.11
✎
00:57
|
+(160) **сорестион** сс
|
|||
162
Jofa
21.08.11
✎
06:23
|
Кстати на лукоморье есть один пункт из поведения быдлокодера:
10.Считает, что все вокруг тупые уроды, так как не знают некоторых вещей (конечно же, охренительно серьёзных и профессиональных), которые знает он, или потому, что пытаются объяснить ему то (конечно же, никому не нужное), чего он не знает. |
|||
163
Luhtas
21.08.11
✎
07:53
|
Вот два примера решения одной и той же задачи:
Какой из них оптимальнее? Первый: ////////////////////////////////////////////////////////////// Процедура ПриНачалеРаботыСистемы() ОбщегоНазначения.СообщитьИменинников(); КонецПроцедуры Процедура СообщитьИменинников() Экспорт ДеньГода=День(ТекущаяДата()); МесяцГода=Месяц(ТекущаяДата()); Выборка=Справочники.Сотрудники.Выбрать(); Пока Выборка.Следующий() Цикл Если День(Выборка.ДатаРождения)=ДеньГода И Месяц(Выборка.ДатаРождения)=МесяцГода Тогда Сообщение=Новый СообщениеПользователю; Сообщение.Текст="Сегодня день рождения у сотрудника: "+Выборка.Наименование+"."; Сообщение.Сообщить(); КонецЕсли; КонецЦикла; КонецПроцедуры ///////////////////////////////////////////////////////// Второй: ///////////////////////////////////////////////////////// Процедура ПриНачалеРаботыСистемы() СписокИменинников=ОбщегоНазначения.ПолучитьСписокИменинников(); Для Каждого Сотрудник ИЗ СписокИменинников Цикл Сообщение=Новый СообщениеПользователю; Сообщение.Текст="Сегодня день рождения у сотрудника: "+Сотрудник+"."; Сообщение.Сообщить(); КонецЦикла; КонецПроцедуры Функция ПолучитьСписокИменинников() Экспорт ТекДень=День(ТекущаяДата()); ТекМесяц=Месяц(ТекущаяДата()); Массив=Новый Массив; Выборка=Справочники.Сотрудники.Выбрать(); Пока Выборка.Следующий() Цикл Если ТекДень=День(Выборка.ДатаРождения) И ТекМесяц=Месяц(Выборка.ДатаРождения) Тогда Массив.Добавить(Выборка.Наименование); КонецЕсли; КонецЦикла; Возврат Массив; КонецФункции /////////////////////////////////////////////////////// |
|||
164
Luhtas
21.08.11
✎
08:03
|
(141) Быдлокод:
НУ вот наконец то спустя 5 лет я был удастоен звезд. Я их очень ждал. И Волшебник мне их обещал в 2012 но Асмодя выдал сейчас. |
|||
165
Jofa
21.08.11
✎
08:05
|
(164)Запрос для умников?
|
|||
166
jump if zero
21.08.11
✎
11:28
|
Быдлокод - это код написанный профессиональным программистом
вынужденного работать в условиях скромного бюджета. |
|||
167
Злопчинский
21.08.11
✎
11:38
|
(153) а пресловуьые 8-ые запросы на несколько страниц...?
|
|||
168
proger2011
21.08.11
✎
11:41
|
(167) Их уже даже в типовых выносят в отдельные функции.
|
|||
169
vde69
21.08.11
✎
11:59
|
(163) оба примера - быдлокод причем поганый быдлокод,
для этого запрос нужно использовать |
|||
170
vde69
21.08.11
✎
12:04
|
я отношу к былокодерству
1. отсутствие стиля (не соблюдение нотаций, пускай и своих собственых) 2. излишнее использование циклов (в частности объектная модель вместо запроса) 3. не умение работать с тразакциями и непонимание блокировок все остальное можно и принять |
|||
171
Escander
21.08.11
✎
13:34
|
(169)есть мнение, что чел какие-то курсы учит и до запросов ещё не дошёл.
|
|||
172
Alexandr Puzakov
21.08.11
✎
14:51
|
(136) глобальный поиск по модулям отменили?
|
|||
173
Лефмихалыч
21.08.11
✎
15:22
|
(163) быдлокод - это и то, и другое. Данные надо выбирать запросом
|
|||
174
Злопчинский
21.08.11
✎
15:22
|
(173) а объекты - выборкой?
|
|||
175
Лефмихалыч
21.08.11
✎
15:25
|
(174) не понял.
|
|||
176
Steel_Wheel
21.08.11
✎
15:26
|
(174) объекты -- тоже данные
|
|||
177
Лефмихалыч
21.08.11
✎
15:28
|
(176) а, теперь понял. Вопрос (174) идиотский
|
|||
178
Aleksey
21.08.11
✎
15:34
|
(172) Спасибо поржал
Как ты думаешь, правильнее после каждого релиза тратить по 2-3 часа в поисках потерявщих моделей во всех обработках и ездить по клиентам и обновлять или скопировать один раз и использовать? Что скажут клиенты, если после каждого обновления придется вызывать тебя, потому что твой отчет не работает? |
|||
179
Злопчинский
21.08.11
✎
15:36
|
(177) все данные надо выбирать запросом?
|
|||
180
Злопчинский
21.08.11
✎
15:38
|
(176) Объект - это дофигища данных. где-то преимущество запросов в т.ч. писалось что типа для получения датыдокумента - запросом выдираем именно дату, ане весь объект..
|
|||
181
Alexandr Puzakov
21.08.11
✎
16:27
|
(178) это решается простым копированием процедуры/функции из общего модуля в модуль отчета. И не надо вот так громко говорить о плясках процедур из модуля в модуль, большинство из них годами в одном и том же модуле находятся, и в неизменном виде.
|
|||
182
Chai Nic
21.08.11
✎
16:35
|
"наименование обработок длинные и с пробелами, вместо лаконичных сокращенных наименований"
Вспомним хотя бы ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокументИмениБорисаГеоргиевичаНуралиева ;) |
|||
183
Torquader
21.08.11
✎
16:38
|
(180) Если один реквизит, то быстрее, а если несколько, то скорость уже сомнительна.
Кроме того, никто не гарантирует, что отчёт будет выбирать только одно поле, а не делать внутри себя выборку всего объекта и считывание из него только одного поля. |
|||
184
Jolly Roger
21.08.11
✎
16:55
|
капитан очевидность скромно напоминает, что в терминах 1с объект и ссылка - не одно и то же...
|
|||
185
НеЛюблюФорумы
21.08.11
✎
17:54
|
я придерживаюсь вот такой стратегии оценки
http://glenndejaeger.files.wordpress.com/2010/04/wtfm.jpg |
|||
186
smaharbA
21.08.11
✎
19:07
|
Если присутствует процедура ПоКнопке...
|
|||
187
MikleV
02.09.11
✎
22:56
|
чего то все забыли..
только вчера узрел: Объект.Соглашение = Справочники.СоглашенияСКлиентами.НайтиПоНаименованию("БлаБла"); |
|||
188
Лефмихалыч
02.09.11
✎
23:22
|
(185) вмемориз!
надо бы это высечь в граните, об который потом несознательных коллег головой прикладывать |
|||
189
smaharbA
02.09.11
✎
23:26
|
тоже самое что и "хомячки"
произносится самими |
|||
190
IamAlexy
02.09.11
✎
23:40
|
||||
191
Икогнито
02.09.11
✎
23:48
|
(0) Быдлокод - это когда конфа не проходит тестирование в режиме тонкого клиента и архитектор говорит писать код для "толстого клиента" и отключить отладку "тонкого клиента" в конфигураторе.
|
|||
192
Лефмихалыч
02.09.11
✎
23:51
|
(191) даже если конфа получена конвертацией из 8.1, находится в режиме совместимости и не предназначена для использования в режиме тонкого клиента?
|
|||
193
Икогнито
02.09.11
✎
23:58
|
(192) нет, если в конфе настройка "Управляемое приложение" стоит и совместимости с 8.1 нет
|
|||
194
Икогнито
03.09.11
✎
00:00
|
(192) а разрабатывать новую конфу в режиме совместимости с 8.1. - это тоже быдлокод.
Это тупо говорит о том, что челы, которые её разрабатывают, просто не владеют навыками работы с управляемым приложением. |
|||
195
Лефмихалыч
03.09.11
✎
00:01
|
(193) тогда надо бы обобщить: "Быдлокод - это когда конфигурация не проходит ситнтаксический контроль в тех режимах, в которых она используется в продуктиве" иначе абсурд получается.
(194) это седствие |
|||
196
Икогнито
03.09.11
✎
00:02
|
(195) слишком заумные фразы, работодателю на стороне Заказчика они будут не понятны.
|
|||
197
IamAlexy
03.09.11
✎
00:03
|
(196) заказчик не будет запускать синтаксисконтролью... заказчик запустит базу в том режиме в котором она должна работать и проверит работоспособность оной...
|
|||
198
Лефмихалыч
03.09.11
✎
00:04
|
(196) а (191) заказчику будет понятно и он сделает из этого адекватные выводы?
|
|||
199
Икогнито
03.09.11
✎
00:05
|
(197) это из разряда
-"прогнуть Заказчика под свое решение" - "Заказчик же не видит, какое *овно написано внутри, ему конфетку снаружи показывают" |
|||
200
Лефмихалыч
03.09.11
✎
00:05
|
(200)
|
|||
201
Икогнито
03.09.11
✎
00:07
|
(198) грамотный программист на стороне Заказчика сделает адекватные выводы.
Хватит уже мыслить узкими категориями, что если есть Заказчик, то у заказчика нет своего программиста (представителя Заказчика) :) |
|||
202
Лефмихалыч
03.09.11
✎
00:07
|
(199) нет, это из совсем другого разряда. Это из разряда "не вводить заказчика в заблуждение"
|
|||
203
Лефмихалыч
03.09.11
✎
00:08
|
(201) и я про то же - хватит уже мыслить узкими категориями - думай, что говоришь
|
|||
204
Икогнито
03.09.11
✎
00:09
|
(202) Видимо у нас разные позиции.
Франч исходит из позиций: - на*овнокодю внутри, снаружи конфетку сделаю; - потом, когда возникнут проблемы оптимизации - срублю еще бабок Представитель Заказчика исходит и качества и стоит на страже интересов Заказчика. |
|||
205
IamAlexy
03.09.11
✎
00:12
|
(199) ты конечно же когда от заказчика деньги будешь получать потребуешь полной истории каждой полученной копейки.. ибо недайбог пара рублей будет получена незаконным путем.. правильно же?
|
|||
206
IamAlexy
03.09.11
✎
00:12
|
(199) а вообще это из разряда "не надо придумывать сложностей сверх необходимого"
|
|||
207
Икогнито
03.09.11
✎
00:13
|
(205) С недавних пор, принял решение, что работаю только на стороне Заказчика :)
|
|||
208
IamAlexy
03.09.11
✎
00:13
|
(204) ты прог, по часам работаешь.. зачем мне как заказчику оплачивать твою работу над исправлением ошибок режимов которые я не собираюсь использовать никогда никогда?
|
|||
209
IamAlexy
03.09.11
✎
00:13
|
(207) ты просто двуличен.. свои Nрублй за час ты с заказчика слупишь.. просто ты ему впариваешь ненужную услугу.. вот и все..
|
|||
210
Икогнито
03.09.11
✎
00:14
|
(208) не понял, что ты написал. Два раза прочитал, не понял.
|
|||
211
Лефмихалыч
03.09.11
✎
00:14
|
(204) я не франч, я в душе не знаю, на какой ты там позиции стоишь
|
|||
212
Икогнито
03.09.11
✎
00:15
|
(209) С каких пор качество стало называться "ненужная услуга"?
|
|||
213
Лефмихалыч
03.09.11
✎
00:16
|
(212) ни с каких. Просто значение слова Качество у заказчика совсем не такое, как у тебя
|
|||
214
IamAlexy
03.09.11
✎
00:16
|
(210) расшифровываю как все происходит на самом деле:
я заказчик, заказал разработку конфы на 8.2, не на управляемом интерфейсе. ты разработчик потратил время на исправление ошибок управляемого интерфейса, на рисование совместимых форм, на отладку модулей и тд и тп а затем- выставил мне счет за потраченное время. вопрос: зачем мне оплачивать навязанную мне услугу которая мне нахрен не сдалась и которой я пользоваться никогда не буду.. каким боком ты тут на моей, на заказчика, стороне то? |
|||
215
Икогнито
03.09.11
✎
00:16
|
(208) работа по часам - это работа в угоду галочке в плане выполнения работ.
|
|||
216
IamAlexy
03.09.11
✎
00:18
|
(215) так или иначе ты по часам работаешь и начальство тебе часы закрывает.. и по этому оно тебя пинает - не надо тратить время на то что заказчиком будет неоплачено..
|
|||
217
Икогнито
03.09.11
✎
00:19
|
(216) Да заказчик может и не знать, что за два часа можно на*овнокодить так, что потом вынужден будет платить за неделю работы, чтобы разобраться, почему база тормозит.
|
|||
218
IamAlexy
03.09.11
✎
00:20
|
(217) приведенный тобой пример про ошибки управляемого и вебинтерфейса этому отношения не имеют..
|
|||
219
Лефмихалыч
03.09.11
✎
00:21
|
(218) пустая трата буков
|
|||
220
IamAlexy
03.09.11
✎
00:22
|
(219) да я сегодня мало флудил.. пришлось утром поработать а днем спал весь день.. запас буков велик и неистрачен..
|
|||
221
Икогнито
03.09.11
✎
00:23
|
(219) Ну наконец-то до тебя дошло, что разговор неконкретен.
|
|||
222
Икогнито
03.09.11
✎
00:23
|
(220) не оправдывайся
|
|||
223
IamAlexy
03.09.11
✎
00:25
|
(222) странные выводы...
|
|||
224
Лефмихалыч
03.09.11
✎
02:03
|
(221) жаль, что до тебя так и не дошел смысл сказанного в (208)
(222) тебя жизнь ни чему не учит |
|||
225
Cthulhu
03.09.11
✎
02:10
|
(208): ну, наверное, потому, что в 99% случаев то, что по мнению заказчика "не будет использоваться никогда", "у них такого не будет", и т.п. - но что, исходя из анализа задания предполагается грамотным разработчиком - рано или поздно и используется, и бывает, и если вдруг оно все ломает - то "вы же специалист - вы были должны это предусмотреть!".
|
|||
226
IamAlexy
03.09.11
✎
02:27
|
(225) каким боком это относится к теме обсуждения?
обсуждается же - стоит ли тратить время на написание кода совместимого для тонкого и вебклиента если все решение проектируется как решение без использование управляемых форм вообще... |
|||
227
Asirius
03.09.11
✎
11:14
|
(119) Работал я с одной такой базой, к которой применимы пожалуй все пункты, кроме 2). Хотя у меня ситуация еще более запущенная, туда можно еще добавить несколько пунктов:
а) Эта конфа, писавщеяся с нуля с 2003 года десятью разными программистами, в которой никогда не сворачивались остатки. За это время фирма несколько раз претерпела структурные преобразования, когда-то там даже велась розница с УРБД, но сейчас там остался только корпоративный сегмент, а базу никто не менял, так и работают в центральной базе. Особенно весело разбирать код типа если Пользователь = "Иванов", когда Иванов уже лет пять как не работает. б) Криво закрываются регистры остатков по измерениям. За почти 10 лет ведения базы мусора в остатках столько, что открытие следующего периода занимает пару часов. Соответственно про бекапы средствами 1С-ки можно забыть, т.к. пересчет итогов за 10 лет, который делается при загрузке данных делается несколько дней. в) Куча тормозных алгоритмов использующих запросы в цикле, разименовывание через десять точек, итп. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |