|
Маленький шедевр | ☑ | ||
---|---|---|---|---|
0
ADirks
30.09.13
✎
09:44
|
ДокМонтаж.УчитыватьНДС = 2 - ?(ДокМонтаж.Фирма.ОсновнаяСтавкаНДС.Ставка>0, 1, 2);
Нипанимаю... что заставляет людей писать такое? |
|||
1
Любопытная
30.09.13
✎
09:45
|
Страсть к оптимизации кода
|
|||
2
Chum
30.09.13
✎
09:45
|
Понаберут по объявлениям...
|
|||
3
BuHu
30.09.13
✎
09:46
|
нипанимаю , что заставляет людей выкладывать сюда такое ?
|
|||
4
Бывший адинэсник
30.09.13
✎
09:46
|
(0) неплохо :)
|
|||
5
Эльниньо
30.09.13
✎
09:47
|
Что не так?
(3)+1 |
|||
6
Fragster
модератор
30.09.13
✎
09:47
|
я думаю, вопрос был: "почему не ДокМонтаж.УчитыватьНДС = ?(ДокМонтаж.Фирма.ОсновнаяСтавкаНДС.Ставка>0, 1, 0); ?"
|
|||
7
Андрей_Андреич
naïve
30.09.13
✎
09:47
|
(3) Плюсую
Надо было ДокМонтаж.УчитыватьНДС = (ДокМонтаж.Фирма.ОсновнаяСтавкаНДС.Ставка>0, 1, 0); |
|||
8
Fragster
модератор
30.09.13
✎
09:47
|
(7) :-Р
|
|||
9
Pahomich
30.09.13
✎
09:48
|
(0) Работает, не трожь!
|
|||
10
BuHu
30.09.13
✎
09:48
|
(6) да какая разница , не нравится - перепиши . зачем на форум тащить это?
|
|||
11
Фокусник
30.09.13
✎
09:49
|
(6),(7) ИМХО, автору кода нужно 3 значения флажка: 0, 1, 2... Зачем, это уже другой вопрос :)
|
|||
12
пыхтачокк
30.09.13
✎
09:50
|
жалкие типовые людишки, вы не поняли всей высоты полета мысли гения, создавшего Это )))
|
|||
13
Любопытная
30.09.13
✎
09:50
|
(11) При безусловном исполнении этой строки 2 не получится никак. Если только исполнение ее тоже в условие завернуто
|
|||
14
ADirks
30.09.13
✎
09:52
|
(10) да так, поржать
тут такие выверты местами случаются, что не до смеха. это просто характерный и простой пример. |
|||
15
jsmith82
30.09.13
✎
09:54
|
красота...
|
|||
16
BuHu
30.09.13
✎
09:57
|
(14) я думаю , если покопаться в твоем коде , который ты писал на заре своей программерской деятельности , то там тоже можно не один пёрл найти , вот только смысл вываливать все это на форум ?
З.Ы. даже не улыбнуло |
|||
17
Oleg_Kag
30.09.13
✎
09:58
|
(0) Совсем не кошерно!
Надо такое делать "многоэтажным" запросом, через передачу параметров...с группировкой |
|||
18
dmpl
30.09.13
✎
10:00
|
(6) Потому что 0, 1, 0 в конце гораздо хуже 0, 1, 2. И вообще - так проще авторство конфигурации доказывать.
|
|||
19
Mikeware
30.09.13
✎
10:07
|
(0) ну, кто-то увидел в запросе что-нибудь типа:
(1-2*debkred) ему понравилось... :-) |
|||
20
ADirks
30.09.13
✎
10:13
|
(16) ну так то мне тоже не смешно, но что тут сделаешь, кроме как поржать?
(0) похоже, но у этого автора вообще стиль мышления такой. любой код сокращается раз в 5 (а то и вообще сокращается), но сначала полдня разбираешься, что же он делает. |
|||
21
VladZ
30.09.13
✎
10:16
|
(0) Не вижу ничего криминального... Код как код. Шедеврального тоже ничего не вижу...
|
|||
22
Mikeware
30.09.13
✎
10:16
|
(20) ну, наверное, тоже "старой школы", когда объемный код писать считалось очень плохо...
|
|||
23
пипец
30.09.13
✎
10:18
|
ичо ;))) сам иногда вставляю Если 2=1 тогда
ежели конструкцию переделывать долго и не понятно ... |
|||
24
Молодой 1Снег
30.09.13
✎
10:20
|
(0) Мне нравится. Автор кода неординарная личность.
|
|||
25
dmpl
30.09.13
✎
10:21
|
(23) А прикинь - военное время, и 2=1...
|
|||
26
пипец
30.09.13
✎
10:23
|
(23) хуже когда
статусвозврата(0) возврат Сообщить("...") |
|||
27
ADirks
30.09.13
✎
10:26
|
ну ладно, а вот загадка: имеет ли смысл вот такой код?
ВыбМонтаж = ДокСрокМонтажа.ДокументМонтаж.ТекущийДокумент(); и если да, то почему? |
|||
28
Vlad_1717
30.09.13
✎
10:30
|
(14) "Есть два пути возвышения: возвышаться самому и унижать других" (с). Твой путь понятен.
|
|||
29
ADirks
30.09.13
✎
10:38
|
(28) угу, я очень аморален, особенно в понедельник с утра
|
|||
30
Privalov
30.09.13
✎
10:42
|
(29) Пост ни о чем. Ну, не понял ты - гордись.
|
|||
31
Privalov
30.09.13
✎
10:45
|
(29) Пить надо меньше (в воскресенье).
|
|||
32
Эльниньо
30.09.13
✎
12:20
|
ТС. Напиши инверсию флажка.
|
|||
33
VladZ
30.09.13
✎
12:22
|
(27) А что тебя смущает?
|
|||
34
ADirks
30.09.13
✎
12:22
|
(32) это типа экзамен? а на загадку 27 кто-нибудь ответит?
ф = 1 - ф; или более научно ф = (ф+1) % 2; |
|||
35
IamAlexy
30.09.13
✎
12:32
|
(0) здорово же..
|
|||
36
ADirks
30.09.13
✎
12:34
|
(33) не скажу, а то загадка совсем испортится
|
|||
37
mishaPH
модератор
30.09.13
✎
12:35
|
(0) ИМХО связано с картинкой метки штатной библиотеки. там галочка = 2 а пустой квадрат 1
|
|||
38
ADirks
30.09.13
✎
12:39
|
(37) да, возможно так и было, т.е. было (3 - ?(...Ставка>0, 1, 2)) и потом 3 не заморачиваясь поменяли на 2. Но ведь в добром десятке мест такое...
|
|||
39
mishaPH
модератор
30.09.13
✎
12:41
|
(38) знаешь. я сам 10 лет так делал ;) но. только недавно узнал. что надо при прикреплении картинки с меткой указать код картинки по умолчанию, и тогда 1 записанная в него показывает галку а 0 пустой квадрат а не пустоту.
|
|||
40
Mikeware
30.09.13
✎
12:41
|
(36) да никаких загадок, соственно...
(38) тогда бери паяльник, и методами терморектального криптоанализа... |
|||
41
mishaPH
модератор
30.09.13
✎
12:43
|
(40) майк. ты по моему мне обещал температурные датчики в магазины посчитать и пропал? или я что-то путаю. ;)
|
|||
42
Кирпич
30.09.13
✎
12:54
|
(0) да просто пьяный был. или злой. не ваше дело.
|
|||
43
ADirks
30.09.13
✎
12:56
|
(42) в том то и дело, что теперь это моё дело, если бы дело было в другом, то и дела бы никакого не было
|
|||
44
Mikeware
30.09.13
✎
12:57
|
(40) мыло дай.
Посчитал, но пока болел - думал, все решилось уже.... |
|||
45
ADirks
30.09.13
✎
12:59
|
(40) кстати, а ты уверен, что правильно думаешь, зачем это? :)
|
|||
46
1Cv8_accepted
30.09.13
✎
13:00
|
(0) Это нормально. Для С++, например.
|
|||
47
Mikeware
30.09.13
✎
13:00
|
(45) нет, конечно. Я просто знаю, как бы я бы это применил.
|
|||
48
ADirks
30.09.13
✎
13:04
|
(46) Это - нигде не нормально. А то ведь можно и через логарифм забабахать, или ещё чё интересное придумать.
(47) не, ну как я бы это применил - я тоже знаю :) но ведь это же загадка, значит не всё так просто. |
|||
49
1Cv8_accepted
30.09.13
✎
13:05
|
(48) Я вообще для сложных условий таблички СКНФ, СДНФ люблю! )) или XOR побитный по числу.
|
|||
50
1Cv8_accepted
30.09.13
✎
13:06
|
(49) + эта остаточная шизофрения ещё с ассемблера.
|
|||
51
dmpl
30.09.13
✎
13:08
|
(50) Ты главное GOTO почаще используй. Для создания атмосферы...
|
|||
52
1Cv8_accepted
30.09.13
✎
13:10
|
(51) Нет уж. )) Дискутировали как-то на счёт меток... Даже Волшебник@ был за метки В НЕКОТОРЫХ РЕДКИХ СЛУЧАЯХ, но я категорически против них, если есть другие средства. ))
|
|||
53
Эмбеддер
30.09.13
✎
13:10
|
(0) где голосовалка? работает - не трожь, тем более это 7-ка, ей недолго осталось
|
|||
54
КонецЦикла
30.09.13
✎
13:17
|
(0) Перепиши, дольше об этом писать на форуме. Переписать чаще быстрее чем модифицировать.
Вот смотри какой отчет был и какой стал, благодаря твоему классу :) 1c911.by/sites/default/files/user//files/primer_itz.rar (53) Ну, положим, такси она переживет :) |
|||
55
oslokot
30.09.13
✎
13:22
|
(27) альтернативный метод узнать по наличию ссылки, существует ли документ "ДокументМонтаж" в указанном реквизите?
Типа аналог ДокументМонтаж.Выбран() = Истина ? |
|||
56
oslokot
30.09.13
✎
13:27
|
(0) это нормально, я иной раз и такое пишу:
Форма.кОсобенностиДоговора.Цвет(?(ПустаяСтрока(ОсобенностиДоговора) = 0,-1,128)); // если таких эл. форм дохрена и надо сократить код Форма.ДатаПодачиКЗаявкиБум.Доступность(?(Упр=1,?(Б=2,3,0),Упр)); // ну это изврат конечно, тоже сокращал код однотипных элементов |
|||
57
Z1
30.09.13
✎
13:28
|
(0) это еще что.
Видел код где эти вопросики ? вложены друг в друга до четырех раз. код вообще не читаемый. Ну как бы ? также как и goto атавизм - но кто-то ими пользуется - вот и все. |
|||
58
ADirks
30.09.13
✎
13:39
|
(54) Ну просто что-то зло взяло, когда с утра первым делом на _это_ наткнулся. А так то конечно переписываем, по мере изменения бизнес-процесов.
Вот, к примеру, из истории уже: http://satansclaws.livejournal.com/283856.html (55) ну, в общем близко (57) да дело же не в вопросиках, а в абсолютно бессмысленной арифметической операции. |
|||
59
Fragster
модератор
30.09.13
✎
13:41
|
(57) я просто в столбик пишу - вся читается
|
|||
60
Fragster
модератор
30.09.13
✎
13:42
|
а = ?(Условие1, Значение1,
?(Условие2, Знчаение2, ?(Условие3, Знчаение3, ?(Условие4, Знчаение4, ?(Условие5, Знчаение5, ?(Условие6, Знчаение6, ?(Условие7, Знчаение7, ЗначениеИначе))))))); |
|||
61
Mikeware
30.09.13
✎
13:43
|
(60) Пиши на ЛИСПе...
|
|||
62
Fragster
модератор
30.09.13
✎
13:44
|
(61) ну, такая запись иногда лучше чем Если Тогда ИначеЕсли тогда Иначеесли тогда иначеесли тогда иначе
|
|||
63
Эмбеддер
30.09.13
✎
13:45
|
(60) а если какие-то вычисления - их вынести в отдельную функцию и можно полностью отказаться от "если - тогда"
|
|||
64
Aleksey
30.09.13
✎
13:45
|
(62) для отладки хуже, ибо между Тогда ИначеЕсли хоть точку остановки можно влипить, или а последсвиии какой то код добавить
|
|||
65
Z1
30.09.13
✎
13:46
|
(57) goto тоже можно в столбик писать. мало помогает
можно написать абсолютно бесмысленный код. как бы почему против использования ? вместо Если Тогда КонецЕсли; незначительное изменение задачи влечет значительное и сложное изменение кода а значит при этом екгче ошибиться вторая причина отладчик на (60) сразу все выполнит и разбирайся что и как. Как бы ИХМО - каждый выбирает сам как ему писать. |
|||
66
Aleksey
30.09.13
✎
13:47
|
(63) какие вычисления? Например у тебя 7 интервалов, и в зависимости от интервала разные фиксированные значения, нужно найти значения для конкретного числа (для этого найти нужный интервал и прочитать значения)
|
|||
67
Mikeware
30.09.13
✎
13:47
|
(62) по исполнению - возможно. по читаемости кода - нет.
|
|||
68
Mikeware
30.09.13
✎
13:48
|
(66) ВернутьЗначенеДляИнтервала(Интервал)
|
|||
69
Aleksey
30.09.13
✎
13:49
|
(68) в котором что? правильно таже колбаса из условий
|
|||
70
Fragster
модератор
30.09.13
✎
13:49
|
(67) при такой ззаписи хоть сразу понятно, что тут одной переменной присваивание идет.
Если Условие1 Тогда Отослала = 1; ИначеЕсли Условие2 Тогда Отослала = 2 ИначеЕсли Условие3 Тогда Отсосала = 3; Иначе Отослала = "Иначе"; КонецЕсли; |
|||
71
Mikeware
30.09.13
✎
13:50
|
(69) ну,смотря как колбаса организована...
если CASE нету - приходится колбасу колбасить |
|||
72
Fragster
модератор
30.09.13
✎
13:50
|
(70)+ замечтался/опечатался - и нужен отладчик, чтобы понять, почему в одном из 4 случаев в отослала - неопределено
|
|||
73
dmpl
30.09.13
✎
13:51
|
(69) Можно LUT использовать.
|
|||
74
Fish
30.09.13
✎
13:51
|
(72) Прямо по фрейду опечатка :)
|
|||
75
Fragster
модератор
30.09.13
✎
13:51
|
(74) это баян с баша, если что
|
|||
76
Aleksey
30.09.13
✎
13:52
|
(71) а чем он тут поможет?
|
|||
77
Z1
30.09.13
✎
14:14
|
(63) текст не мой
т.е. то что ниже это еще совсем не закручено а как бы элементарно с точки зрения автора кода |WHERE |"+?(ВыбДок.Выбран()=1,"($Выбдок.Склад=:ВыбСклад)","")+" | 3-4 таких вложенных наворота и чтобы это понять надо приложить ну очень много усилий. |
|||
78
Fragster
модератор
30.09.13
✎
14:25
|
(77) ну нету в прямых запросах СКД и построителя... но вообще в таких случаях делаю что-то типа &Условие в тексте и СтрЗаменить после
|
|||
79
ЧеловекДуши
30.09.13
✎
14:26
|
(4) Не удивился твоим словам :)
(0) Нормально все, просто человек писавший это плохо знаком с 1С. Попривык на С-ях писать или на делфе :) |
|||
80
ADirks
30.09.13
✎
14:27
|
(78) чё это вдруг нету? у нас есть :)
у нас даже лучше, чем СКД |
|||
81
Mikeware
30.09.13
✎
14:29
|
(80)?
построителя знаю, а СКД? |
|||
82
Fragster
модератор
30.09.13
✎
14:29
|
(80) ну тогда в (77) и юзайте его, что не юзаете?
|
|||
83
stix2010
30.09.13
✎
14:32
|
(0) упрощаю код
ДокМонтаж.УчитыватьНДС=ДокМонтаж.Фирма.ОсновнаяСтавкаНДС.Ставка; |
|||
84
Z1
30.09.13
✎
14:32
|
(78) какой скд
это человек так для себя сам пишет руками. |
|||
85
ADirks
30.09.13
✎
14:33
|
(81) ну у нас есть набор классов для генерации отчетов
ТОтчет, ТГруппировки, ТКоллекцияОтборов, ТПостроительОтчета, и чего-то ещё И большинство настроек (фильтры, поля выборки, группировки) хранятся в mxl (82) юзаем, отчего не юзаем?! :)) у нас это выглядит примерно так Функция тзп_Сгруппированно(оЗапрос) ТекстЗапроса = " |SELECT | "+оЗапрос.Отступ(оЗапрос.СложитьЧастиЗапроса("Идентификатор",, "Переносы"), 1)+", | sum(Переносы.КоличествоДней) КоличествоДней, | sum(Переносы.КоличествоПереносов) КоличествоПереносов |FROM | ( | "+оЗапрос.Отступ(тзп_СборДанных(оЗапрос))+" | ) Переносы | |"+оЗапрос.WHERE(оЗапрос.стрВсеФильтры())+" | |GROUP BY | "+Отступ(оЗапрос.СложитьЧастиЗапроса("Идентификатор",, "Переносы"), 1)+" |"; Возврат ТекстЗапроса; КонецФункции |
|||
86
stix2010
30.09.13
✎
14:33
|
(83) короче не будет
|
|||
87
ADirks
30.09.13
✎
14:34
|
(+85) самое главное забыл ТОтчет.Запрос
|
|||
88
Mikeware
30.09.13
✎
14:36
|
(85) а, понятно...
вдел - "без бутылки не разберешься":-) |
|||
89
ADirks
30.09.13
✎
14:38
|
(88) Ну да, когда не в теме. Но и про СКД можно то же самое сказать. Собственно, это о любой сложной системе.
|
|||
90
Fragster
модератор
30.09.13
✎
14:44
|
(85) "+Запрос+" - это фигня. содрали бы построитель из снеговика хоть...
|
|||
91
Mikeware
30.09.13
✎
14:46
|
(90) построитель - точь-в-точь как в снеговике, а местами даже лучше - есть уже лет семь...
|
|||
92
ADirks
30.09.13
✎
14:48
|
(90) Если бы мне нравился восьмёрошный построитель - я бы содрал. Но не нравится. Программный интерфейс ужасен, на мой взгляд.
|
|||
93
ОмелянКосопысд
30.09.13
✎
14:48
|
Сатанинская версия :
ДокМонтаж.УчитыватьНДС = 666 - ?(ДокМонтаж.Фирма.ОсновнаяСтавкаНДС.Ставка>0, 665, 666) |
|||
94
ОмелянКосопысд
30.09.13
✎
14:49
|
Патриотическая версия
ДокМонтаж.УчитыватьНДС = 1945- ?(ДокМонтаж.Фирма.ОсновнаяСтавкаНДС.Ставка>0, 1944, 1945) |
|||
95
Fragster
модератор
30.09.13
✎
14:53
|
(92) тогда зачем рваный текст запроса?
|
|||
96
ADirks
30.09.13
✎
14:56
|
(95) потому что читать запрос из 1000 строк страшно неудобно
гораздо удобнее, когда запрос складывается из поименованных кусков, и на каждой итерации весь текст умещается на экран |
|||
97
Бывший адинэсник
30.09.13
✎
14:58
|
(20) обожаю вот такие куски кода
days7:=days7+if(tbl1.penstaj.cterr=comp(0) and (tbl1.penstaj.cadd1=00016439f0762b15h or tbl1.penstaj.cadd1=00016439f0762b14h or tbl1.penstaj.cadd1=00016439f0762b13h or tbl1.penstaj.cadd1=0001000000000263h), if(tbl1.penstaj.fromdate<date(1,7,2013) and tbl1.penstaj.fromdate<>date(0,0,0) and (tbl1.penstaj.todate=date(0,0,0) or tbl1.penstaj.todate>=date(1,4,2013)), calcdaysbetweendates(if(tbl1.penstaj.fromdate<date(1,4,2013),date(1,4,2013),tbl1.penstaj.fromdate), if(tbl1.penstaj.todate>date(30,6,2013) or tbl1.penstaj.todate=date(0,0,0),date(30,6,2013),tbl1.penstaj.todate),false),0),0); и ведь тот кто его писал о чём то там думал... |
|||
98
Бывший адинэсник
30.09.13
✎
14:59
|
типа а что если страничку кода уместить в 1 строку...
|
|||
99
ОмелянКосопысд
30.09.13
✎
15:05
|
(97) ничего плохого этот "ктото" не имел в виду. просто дописывал себе условия потихоньку. А полностью переделать конструкцию - лень. Это ж моск включать надо.
|
|||
100
Нуф-Нуф
30.09.13
✎
15:05
|
100
|
|||
101
Эльниньо
30.09.13
✎
15:05
|
2S
|
|||
102
Fragster
модератор
30.09.13
✎
15:32
|
(96) у вас что, конструктора запросов нету? даже когда я клюшками занимался - конструктор прямых запросов подобный восьмерочному, включая виртуальные таблицы даже, уже был.
|
|||
103
Mikeware
30.09.13
✎
15:35
|
(102) У них нескольько другой подход.
в принципе, если постоянно там работать - возможно, он будет даже удобнее. |
|||
104
Fragster
модератор
30.09.13
✎
15:41
|
(103) все равно повторность использования кусков текстов запросов мала (ИМХО).
|
|||
105
Mikeware
30.09.13
✎
15:50
|
(104) зато понимаемость кусков велика.
их проще понять, нежели осилить запрос целиком. |
|||
106
ADirks
30.09.13
✎
16:46
|
(105) не люблю я конструкторы, никакие вообще. По той простой причине, что как только хочешь сделать, что-то, что не делает конструктор - то всё, привет, приплыли.
Разбиение же на куски - это исключительно в целях читабельности. Это действительно очень удобно. Такой подход позволяет разделить уровни абстракции, чтобы в каждый конкретный момент видеть и анализировать только один уровень. А надо спуститься ниже - жмёшь Ctl-Enter, и пожалуйста. Но есть и повотрно используемые фрагменты - фильтры, поля SELECT-листа, джойны для них. К примеру, настройка фильтров выглядит так: оЗапрос.ДобавитьФильтр(СрокПоставки, "Материалы.СрокПоставкиПодЗаказ"); где СрокПоставки м.б. пустым, элементом справочника, группой или списком - сборщик текста запроса сам определяет что-как, и генерит соотв. код. |
|||
107
Злопчинский
30.09.13
✎
16:55
|
ну а фигли? я сплошь и рядом пишу типа
ТЗ.Пометка = 3-ТЗ.Пометка; . для переключения вкл/выкл (1/2). . кто не читал про программистов опусы в 80-ых годах - не пойимет... там было что-то как напишут задачу разные люди... |
|||
108
ADirks
30.09.13
✎
16:57
|
(107) ну ёлки-палки ... да не в этом же дело ...
сравни ДокМонтаж.УчитыватьНДС = 2 - ?(ДокМонтаж.Фирма.ОсновнаяСтавкаНДС.Ставка>0, 1, 2); и ДокМонтаж.УчитыватьНДС = ?(ДокМонтаж.Фирма.ОсновнаяСтавкаНДС.Ставка>0, 1, 0); разница небольшая, но принципиальная |
|||
109
bushd
30.09.13
✎
17:00
|
(0) Да уж.... изобретатели.
|
|||
110
oslokot
30.09.13
✎
17:01
|
(108) Что там с загадкой в (27) ?
|
|||
111
Злопчинский
30.09.13
✎
17:02
|
(108) ХЗ... может там есть какая-то сокральная смыслость? я когда такие вещи встречаю - ну проде разобрался что в этом случае хотел "сказать" автор - ну и ок.
|
|||
112
ADirks
30.09.13
✎
17:04
|
(110) да банально всё: при некоторых действиях, типа "отмена статуса" не заморачиваясь удаляются документы, т.е. Док.Удалить(1); и ПустоеЗначение(Док.ДругойДок) не работает. Док.ДругойДок.Выбран() работает, но это лишнее обращение к базе.
|
|||
113
ADirks
30.09.13
✎
17:06
|
(111) в том то и дело, что в первом варианте надо разбираться, а второй понятен даже идиоту.
|
|||
114
bushd
30.09.13
✎
17:09
|
(22) Не то что бы плохо просто памяти маловато)))
|
|||
115
bushd
30.09.13
✎
17:11
|
(24) Точна, точна, это вроде современного искусства.
|
|||
116
oslokot
30.09.13
✎
17:14
|
(112) ага, ясно
|
|||
117
bushd
30.09.13
✎
17:20
|
На самом деле автор написал что в голову пришло и все. А у него пунктик на это дело был... Вот и написал как привычно. Запомненная ситуация, воспроизвел и все.
А вы тут копья ломаете. |
|||
118
ADirks
30.09.13
✎
17:24
|
А я хочу поломать пару копий (хм... как-то двусмысленно...) по этому поводу, потому что (113)
|
|||
119
Любопытная
30.09.13
✎
17:39
|
(118) Нашел бы автора, да у него спросил бы в чем кроится сакральный смысл. Может весь смысл в том, что писалось это в похмельном бреду.
У меня тоже вон разные красивые разности в клюшках у клиента вылазят, ну что ж теперь поделать. Терпеливо считаю, что в этом есть тайный смысл, мне не понятный, а потому, раз работает, лучше его до поры до времени не трогать. |
|||
120
ice777
30.09.13
✎
17:40
|
(0) С юмором товарищ, что пристали.
|
|||
121
ADirks
30.09.13
✎
17:42
|
(119) да мне в общем-то плевать на автора - уже что сделано, то сделано - я тут с просветительской миссией выступаю.
|
|||
122
Любопытная
30.09.13
✎
17:45
|
(121) В чем просветительство-то? Теперь пол-форума знает, что тебе не нравится подобный код. И что с того?
|
|||
123
ADirks
30.09.13
✎
17:49
|
(122) Знают - хорошо. Пусть фигни не пишут!
Код надо писать так, чтобы было максимально понятно, о чём речь. Чтобы пришёл в понедельник утром с бодуна в стельку пьяный, прочитал, и понял. (писать конечно в таком состоянии не надо:) |
|||
124
Любопытная
30.09.13
✎
17:55
|
(123) Да ведь понятия о понятности кода у всех разные) кто-то расписывает , да еще и комментарии ставит, чтобы понятней было, а кто-то и так понимает о чем речь))
А некоторые так и нарочно, по-моему, пишут так, что черт ногу сломит разбираться, либо чтобы не сперли, либо чтобы вечно дописывать и денюжку иметь)) В конечном итоге клиенту вообще пофиг, что там написано, хоть роман в стихах вместо кода, главное чтобы работало. |
|||
125
ADirks
30.09.13
✎
18:11
|
(124) Понятия конечно разные, но есть и общее - иначе вообще бы никто никого не понимал. И надо стремиться к тому, чтобы написаное было понятно всем. Ну, или хотя бы самому себе через месяц.
А всё прочее, тобой перечисленное, я как раз считаю аморальным поведением, и вообще смертным грехом. Есть такая штука - технологичность кода. Чем меньше кто-то потратит времени на разборки, чтобы дописать где-то пару строчек - тем лучше. |
|||
126
FlashC
01.10.13
✎
00:17
|
(97) люди такое писали и не парились:
Функция ПадежС(z1,Знач z2=2,Знач z3="*",z4=0) Экспорт z5=Найти(z1,"-"); z6=?(z5=0,"","-"+ПадежС(Сред(z1,z5+1,СтрДлина(z1)-z5+1),z2,z3,z4)); z1=НРег(?(z5=0,z1,Лев(z1,z5-1))); z7=Прав(z1,3);z8=Прав(z7,2);z9=Прав(z8,1); z5=СтрДлина(z1); za=Найти("ая ия ел ок яц ий па да ца ша ба та га ка",z8); zb=Найти("аеёийоуэюяжнгхкчшщ",Лев(z7,1)); zc=Макс(z2,-z2); zd=?(za=4,5,Найти("айяь",z9)); zd=?((zc=1)или(z9=".")или((z4=2)и(Найти("оиеу"+?(z3="ч","","бвгджзклмнпрстфхцчшщъ"),z9)>0))или((z4=1)и(Найти("мия мяэ лия кия жая лея",z7)>0)),9,?((zd=4)и(z3="ч"),2,?(z4=1,?(Найти("оеиую",z9)+Найти("их ых аа еа ёа иа оа уа ыа эа юа яа",z8)>0,9,?(z3<>"ч",?(za=1,7,?(z9="а",?(za>18,1,6),9)),?(((Найти("ой ый",z8)>0)и(z5>4)и(Прав(z1,4)<>"опой"))или((zb>10)и(za=16)),8,zd))),zd))); ze=Найти("лец вей бей дец пец мец нец рец вец аец иец ыец бер",z7); zf=?((zd=8)и(zc<>5),?((zb>15)или(Найти("жий ний",z7)>0),"е","о"),?(z1="лев","ьв",?((Найти("аеёийоуэюя",Сред(z1,z5-3 ,1))=0)и((zb>11)или(zb=0))и(ze<>45),"",?(za=7,"л",?(za=10,"к",?(za=13,"йц",?(ze=0,"",?(ze<12,"ь"+?(ze=1,"ц",""),?(ze<37,"ц",?(ze<49,"йц","р")))))))))); zf=?((zd=9)или((z4=3)и(z3="ы")),z1,Лев(z1,z5-?((zd>6)или(zf<>""),2,?(zd>0,1,0)))+zf+СокрП(Сред("а у а "+Сред("оыые",Найти("внч",z9)+1,1)+"ме "+?(Найти("гжкхш",Лев(z8,1))>0,"и","ы")+" е у ойе я ю я ем"+?(za=16,"и","е")+" и е ю ейе и и ь ьюи и и ю ейи ойойу ойойойойуюойойгомуго"+?((zf="е")или(za=16)или((zb>12)и(zb<16)),"и","ы")+"мм",10*zd+2*zc-3,2))); Возврат ?(""=z1,"",?(z4>0,ВРег(Лев(zf,1))+?((z2<0)и(z4>1),".",Сред(zf,2)),zf)+z6); КонецФункции // |
|||
127
FlashC
01.10.13
✎
00:17
|
+(126) вроде даже в знаниях есть
|
|||
128
Haritonina
01.10.13
✎
00:25
|
действительно понятие и знание кода у всех разные)))
|
|||
129
FlashC
01.10.13
✎
00:27
|
(128) я про то и говорю))) а то про какие то маленькие шедевры бачут) как тот герой говорил - "Из малого ..."
|
|||
130
FlashC
01.10.13
✎
00:39
|
+(126) это всё Jurer Production Begin ( Start ) - в народе Юра Ж. Дай Бог ему здоровья!
|
|||
131
stix2010
01.10.13
✎
15:38
|
(126) Кстати, этот код был для меня темной коробкой, я подавал на вход данные и получал на выходе результат,
разбирать, что и как там работает даже желания не было |
|||
132
aka MIK
01.10.13
✎
15:43
|
(0) А у меня так
Форма.ВыводитьВсе.Доступность(Окр((ЭтоАдмин()+ЭтоНачОтдела())/2,0,2)); Кто лучше? |
|||
133
Mikeware
01.10.13
✎
15:44
|
(126) это шедевр. я раз пять пытался понять, как оно работает... но в конце концов, забил и просто пользуюсь уже лет 6...
|
|||
134
aka MIK
01.10.13
✎
15:46
|
Шедевр - это шахматная программа на javascript в страницу кода...
|
|||
135
Mikeware
01.10.13
✎
15:47
|
(134) шедевров много. правда, м.даков еще больше. но все таки....
|
|||
136
Fragster
модератор
01.10.13
✎
16:10
|
(133) оно вроде как со средним родом не очень хорошо работает
|
|||
137
Mikeware
01.10.13
✎
16:13
|
(136) я фамилии сотрудников и контрагентов склоняю. А гомиков у нас нет (по крайней мере - настолько явных)...Ну и должности-профессии...
|
|||
138
ADirks
01.10.13
✎
16:40
|
(132) я бы сказал так
Форма.ВыводитьВсе.Доступность(оМетоды.ОдноИз(1, ЭтоАдмин(), ЭтоНачОтдела())); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |