Имя: Пароль:
LIFE
Юмор
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) можно передавать не в момент создания объекта, тем и сильна агрегация
насчет "если" - это к автору, я не поддерживаю категоричность