|
OFF: v8: Основная проблема кодинга - это условный оператор. ИМХО. | ☑ | ||
---|---|---|---|---|
0
Команданте
20.12.12
✎
22:03
|
Задумался
Переосмыслил свои кодинги, понял: все траблы из-за "если" А что это по сути? Псевдо-вызов переопределенной функции базового класса Видели процедуру УстановкаВидимости в типовых конфигах? То-то же Будучи скромным участником одного гигансткого проекта, лицезрел космические скорости роста этой процедуры Так что, здраво рассудя, прихожу к выводу, что все проблемы из-за отсутствия ООП ООП превращает кодинг в лёгкость и простоту Напейсал тыщу классов, переопределил методы родителя, наслаждаешься Процедурный прогинг - постоянные метанья в условных операторах, отсюда и алкоголизм и неудачи на личном фронте ООП слава и почёт, короче Тут тонкая фишка прослеживается, а именно "взять и отменить ваще нахрен условный оператор по сути", возвести ООП в такую запредельную блажь, чтобы Если Тогда Иначе Конец Если считалось за атавизм. Кто что думает по этому поводу |
|||
1
НуВотКак
20.12.12
✎
22:05
|
Что такое ООП?
|
|||
2
Команданте
20.12.12
✎
22:06
|
(1) Объекто-ориентированное программирование, всемирно признанная аббревиатура, пища для троллей, любящих вопрошать о её значении
|
|||
3
Asmody
20.12.12
✎
22:06
|
(0) ваши представления об ООП как о "серебряной пуле" сильно преувеличены.
|
|||
4
Genayo
20.12.12
✎
22:07
|
(0) белочка пришла?
|
|||
5
Ork
20.12.12
✎
22:07
|
(0) "Кто что думает по этому поводу" - матофильтр не пропустит.
ЗЫ. Найдете ООП без If, case, while ... - скиньте ссылочку для посмотреть. |
|||
6
Команданте
20.12.12
✎
22:08
|
(3) я руководствовался лишь своим опытом и наблюдениями, мой дорогой друг
|
|||
7
Asmody
20.12.12
✎
22:08
|
тем более, что в 8ке, при желании, можно сымитировать ООП. даже функциональный стиль можно сымитировать. только зачем?
|
|||
8
Fragster
гуру
20.12.12
✎
22:09
|
автор накурен
|
|||
9
Aleksey
20.12.12
✎
22:10
|
Как ООП поможет избавиться от условий?
|
|||
10
Genayo
20.12.12
✎
22:10
|
Основная проблема кодинга - тупые кодеры. И ООП тут точно не поможет...
|
|||
11
Команданте
20.12.12
✎
22:10
|
(7) в том-то и дело. я постоянно имитирую
например полиморфный код модулей. Если то, иначе если и так далее у меня один в один код тусуется в нескольких объектах изменил, скопипастил в модули объектов, 1с пока неведома мощь .NET, чтобы не копипастить |
|||
12
Aleksey
20.12.12
✎
22:10
|
Допустим та же процедура видимости?
|
|||
13
IamAlexy
20.12.12
✎
22:11
|
еще один недождался конца света и упоролся дешевым барбитуратом...
|
|||
14
НуВотКак
20.12.12
✎
22:11
|
(9) в методах класса все через ?(,,) писать
|
|||
15
ado
20.12.12
✎
22:11
|
(0) Закусывать нужно.
|
|||
16
Команданте
20.12.12
✎
22:11
|
в общих модулях создаю подобия интерфейсов C# или Java
легко и удобно |
|||
17
Aleksey
20.12.12
✎
22:11
|
(11) Ответ будет как ООП поможет избавиться от если в процедуре Видимость?
|
|||
18
Aleksey
20.12.12
✎
22:12
|
(16) Будешь и дальше троллить и игнорировать неудобные вопросы?
|
|||
19
Команданте
20.12.12
✎
22:13
|
(18) ты потише, написал возмущённую реплику с одним инкрементом после посыла
щас отвечу |
|||
20
Aleksey
20.12.12
✎
22:14
|
(19) Так ты уже 3 минуты игнорируешь вопрос, и не можешь ответить
|
|||
21
Aleksey
20.12.12
✎
22:15
|
Ты там войну и мир в 4-х частях что ли пишешь в качестве ответа?
|
|||
22
Команданте
20.12.12
✎
22:16
|
(17) ну, наприме, взять виды операции документа в стиле 1с там типа покупка, комиссия, оборудование, для любителей нетиповых следует покупка талонов на бензин, агентских услуг, херня мерня, окей идём далее
создаём нескока объектов, они наследуют модули базового класса, аккуратно и нежно переопределяем функции без надоедливого Если, и наслаждаемся Если создаётся конкретный вид операции, то создаётся конкретный класс, и все свойства и методы известны, не надо возиться с Если |
|||
23
Chai Nic
20.12.12
✎
22:17
|
Ну в общем-то существуют языки программирования без ЕСЛИ. Например prolog незабвенный.
|
|||
24
vmv
20.12.12
✎
22:18
|
(0) все проблемы из-за отсутсвия мозга, 90% дурацких монстроидальных кейсов ИначеЕсли в твоем коде и коде типовых можно заменить лаконичными циклическими процедурами, поместив переменные условных операторов в коллекции, так что про недостаток ОПП вопят только профаны, оно было хорошо для наследования форм базовых классов, но никак не для кода
проблема кода в отсутсвии элементарного логического мышления, я бы даже сказал СИСТЕМНОГО логического мышления, увы в собременных быдловузах даже понятия не имеют, что такое системный подход |
|||
25
Aleksey
20.12.12
✎
22:18
|
(22) Нехрена не понял. А как они вызываться будут, если не через если?
Процедура УправлениеВидимостью() пКоды=Перечисление.КодыОпераций; Если Форма.Закладки.ТекущаяСтрока() = 1 Тогда Форма.ИспользоватьСлой("Общий1, Общий2, Операция", 2); Если (КодОперации = пКоды.ОплатаПоставщику) ИЛИ (КодОперации = пКоды.ВозвратОплатыПокупателю) Тогда Форма.ИспользоватьСлой("Взаиморасчеты", 1); Иначе Форма.ИспользоватьСлой("Прочее", 1); КонецЕсли; Иначе Форма.ИспользоватьСлой("Общий1, Общий2, Печать", 2); КонецЕсли; КонецПроцедуры Вот кусок из типовой ПКО/РКО из ТиС, перепиши его на ООП без использования Если |
|||
26
Команданте
20.12.12
✎
22:19
|
в своё время микрософаги жосско пошатнули нервы любителей процедурного проггинга своим блестящим ООП
не следует ли дальше пошатнуть их нервы отказом от Если? конечно, утрирую, но смысл понятен |
|||
27
Aleksey
20.12.12
✎
22:19
|
(26) И кому от этого будет хорошо?
|
|||
28
Undefined vs NULL
20.12.12
✎
22:20
|
ОФФ: если внимательно посмотреть, то круть в ООП ни столько в наследовании, сколько в агрегации
|
|||
29
vmv
20.12.12
✎
22:21
|
(25) о векторе функций слышал с точками входа/выхода, читали толмуды 70-х от корифеев программирования или ЖКК и серия "для чайников" религиозно верная доктрина?)
|
|||
30
Команданте
20.12.12
✎
22:21
|
(25) вот как у меня щас сделано
ПроцедураТипа УправлениеВидимостью() Если ИмяКласса = "Класс1" Тогда // код класса 1 ИначеЕсли ИмяКласса = "Класс2" Тогда // код класса 2 КонецЧисто А если бы 1с взял и реализовал ООП, то даже в этом отпала бы необходимость |
|||
31
Aleksey
20.12.12
✎
22:21
|
Конкретный пример будет код с если из процедуры УправлениеВидимостью заменен на ООП без если.
Или форум не позволяет такие длинные портянки кода писать? P.S. Дьявол он как известно в деталях |
|||
32
Aleksey
20.12.12
✎
22:22
|
(30) Незачет, используешь если
|
|||
33
Aleksey
20.12.12
✎
22:22
|
Ты ни умничай, ты пример покажи как этот код заменить на ООП
|
|||
34
Надсмотрщик
20.12.12
✎
22:23
|
(0) А закусывать не пробовал?
|
|||
35
Команданте
20.12.12
✎
22:23
|
(32) да ты что как молодой тролль
представляешь, в 1С нет ООП!! я был бы рад создавать документ в дереве конфигурации с указанием базовых классов и переопределяя их свойства и методы |
|||
36
Aleksey
20.12.12
✎
22:24
|
(35) Просто всё это мне напоминает анедот про филина
Пришли мыши к филину, жалуются: - Мы, мыши, самые маленькие, слабые, каждый обидеть и сожрать норовит. Че делать? Филин подумал, подумал - говорит: - Вам, мыши, надо превратиться в ежей. Будете колючими - и вас не так просто будет съесть. Мыши убежали, радостные: - Да, да! Превратимся в ежей! Спасемся! Через некоторое время возвращаются к филину и робко спрашивают: - Ты сказал, надо в ежей превращаться... НО КАК??? Филин подумал, подумал: - Да пошли вы, мыши на хрен! Я не тактик - я стратег!!! |
|||
37
Souvenire
20.12.12
✎
22:24
|
(35) Покажи пример не из 1С.
|
|||
38
Aleksey
20.12.12
✎
22:24
|
Заметь про процедуру видимости это ты предложил, что там много если, что если бы было ООП, то от если можно отказаться. Так что отвечай теперь за свои слова
|
|||
39
Надсмотрщик
20.12.12
✎
22:25
|
(35) 1С вся состоит из ООП
|
|||
40
Команданте
20.12.12
✎
22:25
|
(36) Чувак, тема про стратегию, а не тактику
в 1с нет ООП, представляешь Хуле тогда тут флудишь |
|||
41
Команданте
20.12.12
✎
22:25
|
(39) не пугай народ, а то ещё поверят
|
|||
42
Aleksey
20.12.12
✎
22:25
|
(40) Да пофиг, пусть это будет 2С с ООП, напиши как это с ООП будет без если
|
|||
43
Zixxx
20.12.12
✎
22:26
|
(40) Ты походу где-то ложанулся, выкладывай как есть коле не писдобол
|
|||
44
jaVer
20.12.12
✎
22:26
|
(0)бляаа, а не Фиксин ли нас посетил,под новой маской?
сам вопрос очень напоминает рассуждения про анти свч |
|||
45
Aleksey
20.12.12
✎
22:27
|
(40) напиши этот код на .NET, раз там есть ООП и это крутой языык. ТОлько без если
|
|||
46
YF
20.12.12
✎
22:27
|
Немного пятницы не дождался автор
|
|||
47
Надсмотрщик
20.12.12
✎
22:27
|
(41) Ты о предопределенных процедурах слышал что нибудь?
|
|||
48
Команданте
20.12.12
✎
22:27
|
кто пустил в ветку процедурщиков, не знающих ООП и ни разу не кодивших в ООП-средах
|
|||
49
Asmody
20.12.12
✎
22:28
|
(26) ООП придумали задолго до макрософагов
|
|||
50
Aleksey
20.12.12
✎
22:28
|
(48) пример будет или ты только тролить можешь?
|
|||
51
Aleksey
20.12.12
✎
22:28
|
ООП 1с не нужен:
1) ООП накладывает ряд ограничений по быстродействию. Еще более тормознутая 1с - это перебор.. 2) ООП накладывает ограничения на моск программиста. С процедурным языком еще как то более-менее справлялись, то с ООП такой зоопарк начнется, столько объектов ненужных создадут, столько неоптимизированности, что хоть вешайся.. (с) ОФФ: 1С и ООП |
|||
52
Команданте
20.12.12
✎
22:28
|
(49) но, по-моему, они первые додумались превратить примитивные типы в классы
|
|||
53
Undefined vs NULL
20.12.12
✎
22:29
|
(30) смотри, берешь и агрегируешь обработку с требованием иметь такие-то методы (читай поддерживает интерфейс)
и там их внедряешь как хошь агрегирование с наследованием рулит тут нет правильного наследования, но оно не нужно, нужен только интерфейс, а за счет утиной типизации интерфейс любой делается за счет описания метов |
|||
54
Команданте
20.12.12
✎
22:29
|
(50) это ты тролль, я тебе всё разжевал уже
ни разу не видел код создания класса с наследованием? не может представить как это может быть сделано в дереве конфигурации? |
|||
55
Aleksey
20.12.12
✎
22:30
|
(54) Без если - нет не могу. Что сложно код на NET привести? или ты "стратег"
|
|||
56
Asmody
20.12.12
✎
22:31
|
(51) в 1С основные тормоза не из-за реализации языка. да и какая разница, если всё в псевдокод компилируется?
|
|||
57
Jstunner
20.12.12
✎
22:31
|
Я сейчас в основном пишу на Objective-C и С++. Практика показывает, ООП и реляционные базы данных - это взаимоисключающие параграфы
|
|||
58
vmv
20.12.12
✎
22:33
|
из достоверных источников известно, что приход ОПП в
1С уже скоро с 9.0 появиться, для этого уже сейчас в 8.2-8.3 появились предпосылки |
|||
59
Asmody
20.12.12
✎
22:33
|
(52) опять ты ошибаешься. см. wiki:lisp
|
|||
60
Aleksey
20.12.12
✎
22:33
|
Ты себя как представляешь есть класс ПКО
На основании его создаем 2 документа ПКО.слой1, ПКО.слой2 и наследуем его от базового класса ПКО Далее при вызове закладки генерируем НОВЫЙ (!) объект в зависимости от закладки? И вот тут вопрос, как без если определить текущую закладку и сгенерировать той или иной объект. 2 кнопки? |
|||
61
Aleksey
20.12.12
✎
22:34
|
т.е. вместо одной строчки примитивного если ты предлагаешь генерировать кучу объектов наследников на каждый чих?
|
|||
62
Asmody
20.12.12
✎
22:34
|
(58) лучше бы они двинулись в функциональном направлении
|
|||
63
Aleksey
20.12.12
✎
22:36
|
Полиморфизм можно реализовать через "подписку на события"
Инкапсуляция - к нему можно отнести механизм RLS в 1С . Наследование - Документ "Приходная накладная" наследует свои свойства и методы от "базового класса" Документ. |
|||
64
vmv
20.12.12
✎
22:36
|
(62) мухи отдельно, котлеты отдельно
разработчики платформы и разработчики типовых - это как Будда и Исусус, вроде оба святые, но мыслят и творят по разному) |
|||
65
Aleksey
20.12.12
✎
22:41
|
Волшебство программирования на 1С:Предприятие 7.7 и 8.0
Выпуск 15 / 10.11.2002 Здравствуйте! Сегодня мы исследуем глубину проникновения объектно-ориентированного подохода при программировании на 1С:Предприятие 8.0 В прошлом выпуске рассылки нам удалось создать отчет с собственным реквизитом и методом: Отч = Отчеты.ДолгиКлиента.Создать(); //создаем экземпляр отчета Отч.ВыбКлиент = ТекКлиент; //обращаемся к созданному нами реквизиту Отч.Сформировать(); //вызываем написанный нами метод Теперь попробуем взглянуть на эту ситуацию другими глазами, с точки зрения объектно-ориентированного программирования. Фактически мы создали класс ДолгиКлиента, а затем обратились к его свойству и методу. То же самое можно сделать со справочниками, документами и обработками. Таким образом можно сказать, что версия 8.0 вносит нечто новое в обычное программирование учетных задач, а фактически появляются элементы объектно-ориентированного программирования, а именно инкапсуляция. ... Тем не менее 1С чуть-чуть опередила всех на полголовы. Справочники и документы - это сохраняемые в базе классы. При этом документ характеризуется номером, датой и временем, а справочник кодом и наименованием. Сохраняемые в базе данных классы насколько я знаю только начинают осваиваться ведущими разработчиками баз данных, например они только недавно появились в последних версиях Oracle. Далее хочу предостеречь ярых сторонников объектно-ориентированного программирования от массы флейма по этому поводу. ООП полезно только для достаточно больших и сложных проектов. Для небольших программ этот подход может только все усложнить. Поэтому такая возможность была бы не лишней, но это не горит. Существуют гораздо более насущные проблемы, чем введение ОО-подхода в учетные системы. Отмечу, что даже для версии 7.7 относительно недавно появилась компонента 1С++, которая позволяет использовать объектно-ориентированный подход в ваших программах на 1С. Как говорится в документации, поддерживаются инкапсуляция, наследование и полиморфизм. Подробнее об этой компоненте вы можете прочитать здесь. (с) http://www.mista.ru/subscribe/15.htm |
|||
66
Команданте
20.12.12
✎
22:41
|
(60) ты давно не программировал на .NET
хотя что уж тут сравнивать, десятки миллиардов долларов инвестиций и сотни умов по сравнению с миллионами рублей, тремя мозгами и помойным дизайнером турбомилк |
|||
67
Aleksey
20.12.12
✎
22:41
|
(66) Ну так пример на NET будет или и дальше будешь хвастаться какой ты крутой кодер на NET
|
|||
68
Команданте
20.12.12
✎
22:42
|
(65) Если бы 1С продолжилал развивать 7.7, сейчас это была бы мощнейшая система на .NET
Взамен имеем глючные УФ с псевдо-ООП |
|||
69
Команданте
20.12.12
✎
22:43
|
(67) я вообще-то не хвастаюсь, я просто в шоке, что ты не можешь догнать тему
|
|||
70
Undefined vs NULL
20.12.12
✎
22:44
|
вообще ни разу не слышал что ООП исключает ЕСЛИ, хотя конечно если задаться глобально, то может и да, можно и циклы даже исключить, вызывая методы объектов, но будет рекурсия
но это "миллионы" классов автор, что на (53) скажите |
|||
71
Команданте
20.12.12
✎
22:44
|
(60) пользователь заходит на журнал ПКО, создаёт новый экземлпяр класса, выбирает в дереве классов нужный ему класс (аналог вид операции в 1С)
в дереве конфигурации эти классы наследует от базового класса ПКО |
|||
72
Команданте
20.12.12
✎
22:48
|
(70) так я же написал, вовсю использую интерфейсы
просто я не настолько педант, чтобы противопоставлять наследование и агрегацию. всё упирается в конечном счёте в восприятие реальности головным мозгом программиста |
|||
73
Undefined vs NULL
20.12.12
✎
22:49
|
(72) как сделать разное поведение в зависимости, например, от выбранной организации?
|
|||
74
Команданте
20.12.12
✎
22:51
|
(73) выйти на уровень формализации на ступеньку выше, если сходу сказать
ведь если поведение разнится от значения, то это неявные интерфейсы, или классы |
|||
75
Команданте
20.12.12
✎
22:51
|
типа типа номенклатуры или вида ценностей
|
|||
76
Команданте
20.12.12
✎
22:52
|
скажем, так, тип номенклтуры неявно ведёт к созданию нескольких классов "Приход товара, ОС, услуги, подарочной карты и бла бла"
|
|||
77
Undefined vs NULL
20.12.12
✎
22:56
|
(74) ты пиши все таки
|
|||
78
Команданте
20.12.12
✎
22:57
|
(77) да тут писать-то нечего, не надо превращать классы в значения домена
|
|||
79
Команданте
20.12.12
✎
22:57
|
ресурсы это не измерения, а измерения это не регистры
всему своё место |
|||
80
vmv
20.12.12
✎
23:04
|
неодекват детектед, мдя иди сесию учи, а то с первого курсы выгонят поганой метлой, знания почерпнутые из журнала мега-хацкер, бгг
|
|||
81
Команданте
20.12.12
✎
23:08
|
(80) извини, если задел тебя за живое, не хотел
я долго не собираюсь в мире задерживаться, так что извини |
|||
82
vmv
20.12.12
✎
23:09
|
(76) ОПП создавалось и хорошо именно в контексте визуализации данных, что какасася учета, то тут оно не катит и нервно блеет аки овца
тип номенклтуры - это не просто идентификация и возможность классифицировать - это еще и куча мала дополнительных условий, свойств методов УЧЕТА которые ни в жизнь не впихнуть в родительские или дочерние классы. Потому что для одного вида может понадобить ежик, а для другого ужик не пытайся пихать невпихюемуе, лузер |
|||
83
vmv
20.12.12
✎
23:10
|
(81) это хорошо что ты решил завтра уйти в измерение майя - там много таких как ты, удачи. свечки не забудь)
|
|||
84
Undefined vs NULL
20.12.12
✎
23:11
|
(78) меняем организацию и?
|
|||
85
Команданте
20.12.12
✎
23:11
|
(82) с хрена ли ты на оскорбления перешёл, пчёлка майя?
|
|||
86
YHVVH
20.12.12
✎
23:12
|
ура срачка
|
|||
87
Undefined vs NULL
20.12.12
✎
23:12
|
(82) ьред, ООП хорош всюду, когда его знают
|
|||
88
Undefined vs NULL
20.12.12
✎
23:13
|
все, я ушел, мое имхо: от "если" избавиться можно, но дорогой центой, см (70)
|
|||
89
vmv
20.12.12
✎
23:14
|
(85) я обожаю истеричек, особенно профанов)
|
|||
90
Команданте
20.12.12
✎
23:15
|
(88) миллионы классов - да
но это можно уменьшить за счёт лучшей формализации действий тут как бы интеллектуальные системы управляют реальностью что щас происходит - бух учёт подстраивается под интеллектуальные системы |
|||
91
Команданте
20.12.12
✎
23:17
|
(89) а я точно не обожаю тех, кто оскорбляет и плюётся слюной. кроме слов "лузер" и "ты покусился на святое", я больше ничего не услышал
ладно бы я был туп, но я не туп |
|||
92
vmv
20.12.12
✎
23:17
|
(90) все првильно, тьоткам надо чтобы программа считала и печатала, а бегущий единорог при запуске - это наркотики, кому это надо?
|
|||
93
Команданте
20.12.12
✎
23:18
|
+(90) 1ска тут неплохо лоббирует свои интересы
например, конфа бухия для быдло бухов а УУП для ООПшных бухов и, как следствие, разница в видах и формах учёта |
|||
94
vmv
20.12.12
✎
23:18
|
(91) я доверяю только фактам.
так что обоснуй свою не тупусть, раз сказал а, говори и б, ты ведь не бабища и не статешь лепетать в стиле да потом, да как-нибудь, а что не видно какая я дура, прости какой ты умный) |
|||
95
Команданте
20.12.12
✎
23:19
|
(92) умри в сортире, плюющуюеся в меня чудовище
|
|||
96
Команданте
20.12.12
✎
23:20
|
(94) очень поэтичный способ назвать себя быдлом, поздравляю
|
|||
97
Undefined vs NULL
20.12.12
✎
23:21
|
(93) УПП не для бухов, там у них только кусочек
|
|||
98
zak555
20.12.12
✎
23:21
|
пример "проблемного" кода так никто и не привёл
|
|||
99
vmv
20.12.12
✎
23:21
|
(95) ясно
не только неадекват, но и трепло детектед, даже свои нетленки с автографом "великий мастер" закринить слабо, говорить не о чем - конструктива нуль, только детский максимализм прет, расти малыщ) |
|||
100
Команданте
20.12.12
✎
23:22
|
(99) не позорься, друг великих идей
|
|||
101
Команданте
20.12.12
✎
23:22
|
просто внезапно понял, что перерос тебя давно
|
|||
102
Команданте
20.12.12
✎
23:23
|
ибо в формализации и абстрагировании ты максимум 39 лвл
|
|||
103
vmv
20.12.12
✎
23:24
|
100 чудовища не испытывают чувства стыда и эльфы 80-уровня им до задницы)
|
|||
104
Команданте
20.12.12
✎
23:24
|
(103) тут мы с тобой сошлись во мнениях
|
|||
105
Aleksey
20.12.12
✎
23:24
|
(98) От стратега ты это не увидишь и не услышишь
|
|||
106
Команданте
20.12.12
✎
23:26
|
зануда - с ним легче согласиться, чем спорить
вы зануды, господа Undefined vs NULL - мужик, ибо он сразу понял, впрягся и указал на некоторые неточности |
|||
107
zak555
20.12.12
✎
23:27
|
(105) это кто ?
|
|||
108
YHVVH
20.12.12
✎
23:28
|
(106) все выдохся?
|
|||
109
vmv
20.12.12
✎
23:28
|
вообще какого хрена этот нахлебник пух распустил пачеться с 1С - разводит наивных тьоток на бабло и вякает.
пусть валит ваять проекты на мильены баксов на шарпе, неблагодарное - его 1С кормит, а от еще бочку катит |
|||
110
Команданте
20.12.12
✎
23:28
|
(107) это моя новая кликуха, означает, что уровень серого вещества в мозгах оппонентов столь низок, что им нужны двухнедельные бихевиористские практики на уровне физиологии вместо того, чтобы вкурить знатные идеи соплеменника
|
|||
111
Команданте
20.12.12
✎
23:29
|
(109) с хрена ли я неблагодарный
1с 9 будет ООП, это все говорят вопрос технический, а не личностный или у тебя уже паранойя началась и шиза третьей степени иди набухайся, остынь |
|||
112
vmv
20.12.12
✎
23:30
|
(106) он просто кошерный тролль, когда истеричка создает тему с причитаниями и соплями, то должна быть классическая схема - плохой и хороший разводящий.
из тебя выйдет отличный пустоюбрех, поздравляю) |
|||
113
Команданте
20.12.12
✎
23:32
|
(112) специльно для тебя, в лучшем стиле процедурного кодинга
goto hell |
|||
114
vmv
20.12.12
✎
23:33
|
(113) правильные пацаны кодят на русском, учти
|
|||
115
Aleksey
20.12.12
✎
23:33
|
(110) Незнайка тоже любил поговаривать "Вы еще не доросли до моей музыки"
|
|||
116
Aleksey
20.12.12
✎
23:34
|
(113) Языком общения на форуме является русский. Сообщения, написаные на любом другом языке, ввиду незнания модератором всех языков мира, кроме русского, автоматически рассматриваются как подстрекательство к свержению правящего строя, выраженное чистой матерной руганью, со всеми вытекающими отсюда последствиями.
(с) http://www.forum.mista.ru/rules.php |
|||
117
exwill
20.12.12
✎
23:34
|
(0) В программировании можно убрать все, кроме ЕСЛИ.
|
|||
118
dumb851
20.12.12
✎
23:38
|
(0) на ментальном уровне Если все равно останется, куда его не засунь. А значит, ошибок ровно столько же останется, сколько и было
|
|||
119
zak555
20.12.12
✎
23:39
|
(110) так приведи "проблемный" код
|
|||
120
ГМОДуб
20.12.12
✎
23:39
|
(0) Ты наверное вООПе крупный спец?
|
|||
121
vmv
20.12.12
✎
23:50
|
тс бежал с поля боя с позором и мы так и не узнаем как велик и могут интструмент ОПП, я же хотел стать гуру
|
|||
122
sapphire
20.12.12
✎
23:54
|
(0) Пурген не пробовал? Говорят де помогает ;)
|
|||
123
Сияющий Асинхраль
21.12.12
✎
00:02
|
А я всегда считал, что основная проблема кодинга - наличие мозгов у кодера. А оказывается все проще - убрать все Если, и сразу наступит просветление
|
|||
124
HeroShima
21.12.12
✎
00:03
|
белый ящик сыграл в чёрный?
|
|||
125
Прохожий
21.12.12
✎
08:09
|
(123) Получится как бэ одна прямая извилина и это решит проблему развития мозга. Очень актуально на фоне дибильного телевидения, образования и великих непознаваемых религий.
|
|||
126
DimVad
21.12.12
✎
08:39
|
(0) Когда-то я зарабатывал денюшку на С++. ООП хорош, если есть очень четко продуманный проект. И не дай бог он начинает меняться в процессе реализации. Ну, например, юзера говорят, что они имели в виду не совсем то... ;-) Начинаешь придумывать классы, которые "замазывают" проблему, но это помогает совсем не долго. И вот уже начинаешь менять все это дерево классов... о-о-о... Хорошо об этом пишет знаменитый Бьерн Страуструп. Кстати, четко говорит о том, в каких областях ООП нафиг не нужно. Так вот, ООП как раз там ;-)
|
|||
127
DimVad
21.12.12
✎
09:14
|
+(126) ОписАлся ;-) Не "ООП как раз там", а "1С как раз там"
|
|||
128
Команданте
21.12.12
✎
09:15
|
(127) сравни 1с предприятие 7.7 и 8.2
вернее, состав и структуру объектов, и код охренел? и я тоже и ты предлагаешь всё это держать без ООП? внутри же у них ООПшно, почему бы и внешне это не сделать я понимаю, что ты имел в виду дескать, люди так глупы, что формализовать правильно могут лишь единицы, а неправильная формализация - это тихий ужас, и если задача незнакома, лучше использовать процедурный стиль |
|||
129
DimVad
21.12.12
✎
09:21
|
(128) Нет, я не это имею в виду. Я имею в виду, что ГБ МариИвановна - считает так, а главный экономист СветланаПетровна - иначе. И завтра они уволятся, и придут новые "мариивановны"... И программисту очень трудно им приказывать ;-)
А "внутри" можно разрабатывать через ООП. Там есть задачи, определенные на годы. Есть и те, кто это координирует. |
|||
130
DimVad
21.12.12
✎
09:23
|
+(129) Хотя, в принципе, мы имеет в виду почти одно и тоже ;-)
|
|||
131
Мимохожий Однако
21.12.12
✎
09:28
|
(0)Продолжай. Пятница наступила.
|
|||
132
Undefined vs NULL
21.12.12
✎
09:35
|
(112) да сам ты тролль! ))
|
|||
133
MSII
21.12.12
✎
09:51
|
Фактически условный оператор в упомянутом в (0) примере позволяет определить нужное бизнес-правило. Т.е. достаточно перейти к использованию иного механизма получения бизнес-правил и надобность в громоздких конструкциях Если-ИначеЕсли пропадает.
|
|||
134
Balonbl4
21.12.12
✎
09:59
|
Не угадал ТС по ветке..
|
|||
135
kotletka
21.12.12
✎
10:03
|
ТС какую то куйню спорол, то ли не знает что такое "Если", то ли что такое ООП
|
|||
136
Undefined vs NULL
21.12.12
✎
10:31
|
не в тему, конструкция
if (condition) { TrueMethod(); } else { FalseMethod(); } может быть заменена на bool executed = false; while (condition && !executed) { TrueMethod(); executed = true; } while (!executed) { FalseMethod(); executed = true; } |
|||
137
Undefined vs NULL
21.12.12
✎
10:34
|
и все таки ПОЛНОСТЬЮ от условных операторов ООП не дает избавиться
|
|||
138
vmv
21.12.12
✎
10:34
|
(135) он просто недопирает, что вместо ЕСЛИ можно исмользовать ?(,,) - это пракчитески ОПП
|
|||
139
Undefined vs NULL
21.12.12
✎
10:36
|
(138) надеюсь это была шутка
|
|||
140
vmv
21.12.12
✎
10:36
|
?(КанадатеНубик(), ВыполнитьРаастрел(ФИО), ДатьЛюлей(100500));
ну чем не инкапсуляция?) |
|||
141
zak555
21.12.12
✎
10:37
|
(136) в чём тут проблем а7
|
|||
142
Undefined vs NULL
21.12.12
✎
10:37
|
(140) смешно, но не очень, для пятницы слабенько
|
|||
143
Undefined vs NULL
21.12.12
✎
10:38
|
(141) да никаких, я ж написал "не в тему", зато прикольно ))
|
|||
144
Команданте
21.12.12
✎
10:46
|
Конкретный пример
Документ Приходный кассовый ордер туева хуча видов операций и прочих кондишонов рисуем базовый класс с полями и методами для каждого вида операции создаём класс-потомок, добавляем поля, переопределяем функции, добавляем свои функции находясь в форме журала юзверь (похрен на того, кто сказал, что называя юзверя юзверем чел палится в нубизме) нажимает кнопочку создать, ему открывается иерархия потомков (это может быть тупо подменюшка, список значений (как в 1с), дерево значений в гламурном виде документ заполняется, проводится, ложится в базу таблица у этих документов в базе одна! и никак иначе юзверь может выбрать базовый класс и видеть весь журнал, может выбрать потомок и выбрать журнал потомка (например, все приходы от подотчётников) в конструкторе запроса юзверь (хотя уже не юзверь, а быдлокодер), может выбрать опять же либо базовый класс, либо потомков плюсы этой магии: не нужно возиться с установкой видимости, не нужно париться с условными операторами в процедуре проведения, если нужна доработка в базе, делается новый потомок и всё если это ещё намешать с агрегацией и слоями, то будет шикарно |
|||
145
Команданте
21.12.12
✎
10:49
|
Вообще тема не о том, что 1с гамно, а ООП всё
1с это мега система, и у неё всё ещё впереди, даже несмотря на то, что до фига чего позади тема имеет и философский окрас, помогая нубам превращаться в мыслителей, и практический умело используя псевдо-ООП, быдлокодер может сократить трудозатраты на разработку и душевные мучения от жалких попыток внутримозговой абстракции объектов конфигурации и их неявных потомков |
|||
146
Undefined vs NULL
21.12.12
✎
10:51
|
(144) а теперь мы внезапно хотим поменять вид операции у существующего документа
|
|||
147
vmv
21.12.12
✎
10:53
|
(144) тьоткам нужно чтобы программа считала и печатала, а в случае с ПКО чтобы печатала по строгой форме, которую злые дядьки в министерстве могут запвтра перекурочить и заявить завтра так печайте и больше ничего!
А ты чо предлагаешь, какие деревья потомков у витающей в облаках тьотки, какой весь журнал, какие массовые списки - наркоманский бред) Интерфейс конечного пользователя должен быть минимализирован по самое нехочу - в идеале одна кнопка, чувак иби байки трави девочкам в клубе, благо они глупы, ибо между потичательницами шарпея и шпрпа разници пшик |
|||
148
dmpl
21.12.12
✎
10:54
|
(0) "Напейсал тыщу классов, переопределил методы родителя, наслаждаешься "
непредсказуемым поведением программы :) |
|||
149
Команданте
21.12.12
✎
10:54
|
(146)
Понятие вид операции заменяется на то, что у каждого объекта есть шапочка наследования, которую можно менять руками в режиме предприятия хранится же запись в таблице базы Хотя я понял, куда ты клонишь - к агрегации |
|||
150
Команданте
21.12.12
✎
10:57
|
Хотя я согласен, что без компромиссов не обойтись
Как уже несколько раз повторил, тема философско-практическая, без претензий Вот даже если взять класс Документ и сделать запрос к нему, то это ведь запрос к объединённой таблице классов, значит субд должно виртуально её генерить |
|||
151
Команданте
21.12.12
✎
10:58
|
В идеале в базе данных лежит одна таблица объектов
У неё типа тыщу полей объект делится на справочники, доки, регистрики, бла-бла но это как идеальный газ, поэтому приходится идти на компромиссы Зарефлексировался уже |
|||
152
dmpl
21.12.12
✎
10:59
|
(24) Оно было бы хорошо для поддержки конфигураций поставщика - когда ты отдельно свои изменения видишь и правишь. А так - накатил обновление автоматом в базовый класс (конфигурация поставщика) - и все (почти) работает без изменений.
|
|||
153
quest
21.12.12
✎
11:00
|
(0) Класс - это описание типа. И все твои плачи про "Если" берут начало в том что язык 1С в этом плане ущербен. Не умеет он анализировать тип переданных параметров и вызывать нужную функцию исходя из сигнатуры. Твой пример из (30) это доказывает.
(151) в идеале базы не должно быть. Вот что будет идеальным. А то что ты предлагаешь - усложнение жизни. |
|||
154
vmv
21.12.12
✎
11:01
|
(151) я понял ты идеалист, который хочет сделать этот мир чище, светлее и добрее, а если не получиться, то посттроить космический корабль и отправить всех в неведомое
Но как показывает практика дерьмо которым забросают этот мир идеалисты - разгребают практики |
|||
155
Команданте
21.12.12
✎
11:02
|
(154) окстись, я думаю лишь о практической реализации своих рабочих задач, мотивация у меня сугубо материальная
|
|||
156
dmpl
21.12.12
✎
11:09
|
(102) В задачах учета не нужна ни формализация, ни абстрагирование, потому что там надо реально и конкретно.
|
|||
157
dmpl
21.12.12
✎
11:11
|
(115) Эх, как он был прав...
|
|||
158
Mikeware
21.12.12
✎
11:11
|
основная проблема кодинга - это тупые кодеры...
|
|||
159
dmpl
21.12.12
✎
11:15
|
(144) Юзер захотел сменить вид операции. Чо делаем?
|
|||
160
dmpl
21.12.12
✎
11:18
|
(149) А я вот хочу чтобы до 21.12.2012 у одного и того же вида операции отображалась одна форма (до конца света), а после 21.12.2012 у этого же вида операции отображалась совсем другая форма (после конца света). Или для одного контрагента одна форма, а для другого - другая. Чо делать будем?
|
|||
161
Vladal
21.12.12
✎
11:20
|
off: "Основной" "проблема"... Не по-русски как-то.
|
|||
162
Vladal
21.12.12
✎
11:21
|
(158) яростно плюсую
|
|||
163
vmv
21.12.12
✎
11:21
|
(160) писать дочерние классы и ходить рассказывать боссам какие мы умные, а они ничего не понимают в ООП, потом покупать вазелин
|
|||
164
Undefined vs NULL
21.12.12
✎
11:24
|
(160) делаешь два вида форм
в зависимости от условия передаешь объекту ту или иную фабрику форм )) создаешь форму, объект даже не знает, что там за форма, да и не нужно ему это |
|||
165
dmpl
21.12.12
✎
11:25
|
(163) Думаю, вазелин ему не потребуется, потому что он застрелится уже на этапе общения с пользователями в попытках объяснить им, как их этих 100500 типов выбрать нужный :)
(164) А откуда я знаю на этапе создания объекта, что пользователь выберет. И как я выберу какую форму передавать без если? |
|||
166
akronim
21.12.12
✎
11:26
|
Название и содержание топика навевают стойкие ассоциации со старой песенкой "Основная проблема музыки в России", как-то так.
(164) Ненене! Что значит "в зависимости от условия"? ТС поднимает народ на крестовый поход против IF, а тут в тылу измена! |
|||
167
bse
21.12.12
✎
11:35
|
Автора расстрелять...
(0) извини условия ты упразднил... |
|||
168
Undefined vs NULL
21.12.12
✎
11:53
|
(165) можно передавать не в момент создания объекта, тем и сильна агрегация
насчет "если" - это к автору, я не поддерживаю категоричность |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |