|
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) можно передавать не в момент создания объекта, тем и сильна агрегация
насчет "если" - это к автору, я не поддерживаю категоричность |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |