Имя: Пароль:
LIFE
Юмор
OFF: v8: Основная проблема кодинга - это условный оператор. ИМХО.
, ,
0 Команданте
 
20.12.12
22:03
Задумался
Переосмыслил свои кодинги, понял: все траблы из-за "если"
А что это по сути? Псевдо-вызов переопределенной функции базового класса
Видели процедуру УстановкаВидимости в типовых конфигах? То-то же
Будучи скромным участником одного гигансткого проекта, лицезрел космические скорости роста этой процедуры
Так что, здраво рассудя, прихожу к выводу, что все проблемы из-за отсутствия ООП
ООП превращает кодинг в лёгкость и простоту
Напейсал тыщу классов, переопределил методы родителя, наслаждаешься
Процедурный прогинг - постоянные метанья в условных операторах, отсюда и алкоголизм и неудачи на личном фронте
ООП слава и почёт, короче
Тут тонкая фишка прослеживается, а именно "взять и отменить ваще нахрен условный оператор по сути", возвести ООП в такую запредельную блажь, чтобы Если Тогда Иначе Конец Если считалось за атавизм.
Кто что думает по этому поводу
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) можно передавать не в момент создания объекта, тем и сильна агрегация
насчет "если" - это к автору, я не поддерживаю категоричность