|
Методология решения задач и написания кода | ☑ | ||
---|---|---|---|---|
0
Explorer1c
26.01.15
✎
14:44
|
Хай! Начал писать сложный отчет и столкнулся с проблемой того, что запутался в алгоритмах и процедурах.
Обычно я делал так- в уме представлял алгоритм решения и реализовывал его, иногда на бумаге пару таблиц рисовал. Затем писал функции и потом обращение к ним в процедурах, а как вы решаете запутанные задачи, как строите алгоритм и по какой схеме пишите код? |
|||
1
фобец
26.01.15
✎
14:48
|
Если совсем запутался - начинай с нуля
|
|||
2
Лефмихалыч
26.01.15
✎
14:49
|
я распутываю запутанное и оно перестает быть запутанным. В уме.
|
|||
3
Челбас
26.01.15
✎
14:50
|
большинство отчетов сейчас вообще не требуют написания кода "в ручную"
|
|||
4
nordbox
26.01.15
✎
14:51
|
Начинается все с похода в магазин.
Потом пачку бумаги, можешь для удобства цветные ручки взять, садишься за стол и начинаешь рисовать. А если серьезно: ТЗ, если нет, нуно четко нарисовать объяснить самому себе что ты хочешь. В уме моно только мелочь всякую нарисовать, и то не факт. |
|||
5
Hans
26.01.15
✎
14:53
|
Обычно пишу центальную процедуру в которой последовательно выполняются все действия. Пишу имена планируемых процедур и фукнкций ы ней. Потом описываю каждую процедуру по порядку.
Ты судя повсему делаешь наоборот снизу вверх, я сверху вниз. |
|||
6
фобец
26.01.15
✎
14:53
|
Вначале было кнопко..
|
|||
7
Garykom
гуру
26.01.15
✎
14:53
|
(0)(4) а может просто с детства мозги тренировать? ))
ексель/ворд универсальная фигня для написания ТЗ и рисования схем |
|||
8
фобец
26.01.15
✎
14:56
|
(5) +1
Начинаешь писать основную процедуру.. Последовательно, реализацию функций можно вообще на конец оставить, имена то ты им уже придумал и знаешь что возвращают... |
|||
9
Fish
26.01.15
✎
14:57
|
(0) Иногда для программирования полезным бывает иметь профильное образование, чтобы не путаться в алгоритмах и процедурах.
|
|||
10
kumena
26.01.15
✎
14:57
|
>> Начал писать сложный отчет и столкнулся с проблемой того, что запутался в алгоритмах и процедурах.
а я всегда полагал, что отчет это запрос. |
|||
11
kumena
26.01.15
✎
14:58
|
+10 один запрос
|
|||
12
фобец
26.01.15
✎
14:59
|
(10) это всего лишь необязательная его часть..
|
|||
13
kumena
26.01.15
✎
15:00
|
>> большинство отчетов сейчас вообще не требуют написания кода "в ручную"
они и в 8.0 не требовали написания кода, построитель и конструктор отчетов никто не отменял. |
|||
14
piter3
26.01.15
✎
15:01
|
(12)стесняюсь спросить,а что тогда?
|
|||
15
Челбас
26.01.15
✎
15:01
|
(13) кто-то против?
а если это отчет с фотографиями? |
|||
16
фобец
26.01.15
✎
15:02
|
(14) для выборки запрос не обязателен
|
|||
17
kumena
26.01.15
✎
15:02
|
(12) кому как, для меня запрос это основной источник данных. он видимо табличной моделью пользуется.
(15) а что с фотками не так? в зупе есть отчеты с фотками. |
|||
18
piter3
26.01.15
✎
15:04
|
(16)процентное соотношение все-таки за запросами
|
|||
19
vde69
26.01.15
✎
15:04
|
есть такой подход:
1. сначало пишутся в модуле глобальные коментарии, 2. потом под них пишется код 3. дооформляется мелкими коментариями |
|||
20
Челбас
26.01.15
✎
15:05
|
(17) я не умею делать такие отчеты не написав код вручную
|
|||
21
kumena
26.01.15
✎
15:08
|
(20) я вообще не умею делать отчеты с фотками, но полагаю, если надо будет разберусь и думаю кода там дописать надо не много. за много лет ни разу не надо этого было, так что давайте оставим фотки как частный случай.
|
|||
22
фобец
26.01.15
✎
15:09
|
СКД - прекрасный и очень удобный инструмент для простых отчетов и печатных форм. Но там где нужно изголяться, скд не подойдет.. В декабре делал хитрый отчет один, 4 функции, 450 строк кода из них текст запроса тольо ~100 строк. Отчет с хитрыми колонтитулами, подвалом в нижней 1/3 последнего листа, печатается дуплексом, начиная с четной страницы (типа формата а3), расчет высоты строк второго листа в соответствии с первым, на первой нечетной оглавление с рассчетом страниц...
|
|||
23
Garykom
гуру
26.01.15
✎
15:10
|
(19) тогда проще сразу процедуры/функции - пустые заглушки писать вместо комментов (ну или с ними)
|
|||
24
фобец
26.01.15
✎
15:12
|
+22 и горизонтальное и вертикальное объединение некоторых колонок и строк
|
|||
25
kumena
26.01.15
✎
15:13
|
(22) отчет это информация, а то что вы написали это финтифлюшки для удобства.
|
|||
26
Fish
26.01.15
✎
15:15
|
(25) Т.е. ты за написание неудобных отчётов?
|
|||
27
Timon1405
26.01.15
✎
15:18
|
(0) как вариант, запутался: рисуй макет + запросы в цикле, чтобы уже была нужная инфа перед глазами. может, пока будешь писать, поймешь, как убрать циклы.
|
|||
28
фобец
26.01.15
✎
15:18
|
(25) нет, это некая унифицированная форма
|
|||
29
Lama12
26.01.15
✎
15:19
|
(0) Использую UML. Даже если отложить задачу на долго, то потом по диаграммам можно поднять память и понимание задачи и какую архитектуру закладывал.
|
|||
30
kumena
26.01.15
✎
15:19
|
(26) как вы это поняли?
|
|||
31
kosts
26.01.15
✎
15:20
|
(0) Этому за 5 минут не научишься.
Опыт+Обучение+Литература(методики)+Здравый смысл |
|||
32
PCcomCat
26.01.15
✎
15:20
|
(26) Есть клиенты, которые сами рисуют на бумаге отчеты, и их не волнует, что предлагаешь ты - им нужно именно так, как они нарисовали. К сожалению, конструкторы в таких ситуациях бессильны (это чертовы разукрашечки), а клиент всегда прав, какой бы замороченный он не был.
|
|||
33
Timon1405
26.01.15
✎
15:23
|
(29) Не судите строго, но как UML поможет, скажем, в абстрактной задаче: нужно в запросе раскидать сумму по коэффициетнтам с точностью до целого?
|
|||
34
kosts
26.01.15
✎
15:25
|
(0) Раскладывай задачу на блоки.
Пиши самодокументирующийся код (т.е. функции и имена переменных, реквизиты должны отражать суть). Раскладывай код на отдельные функции. Не пиши универсальные функции без необходимости. Не используй множественную вложенность. Почитай на диске ИТС статьи с рекомендациями. Вот полезная книга, но как теория http://www.books.ru/books/refaktoring-uluchshenie-sushchestvuyushchego-koda-fail-pdf-552092/?show=1 |
|||
35
Fish
26.01.15
✎
15:25
|
(30) Как правило, как раз на "финтифлюшки для удобства" и уходит больше всего времени и написания кода.
|
|||
36
kosts
26.01.15
✎
15:27
|
При получении данных используй запросы. Получается намного более простой код. Часто и быстрее работающий.
|
|||
37
vi0
26.01.15
✎
15:32
|
пиши псевдокод
|
|||
38
Explorer1c
26.01.15
✎
15:56
|
О, как много разных подходов-круто! Начну пользоваться каждым для оптимизации работы, потом скажу о результатах)
|
|||
39
Explorer1c
27.01.15
✎
08:25
|
Пишем еще примеры работы! например сегодня делал доработку и не перепроверил итоги, пользователь в панике был. Т.е даже если самы простой код добавляете не в свою разработку надо перепроверять тк там хз как че подвязано
|
|||
40
VladZ
27.01.15
✎
09:10
|
Тебе нужен алгоритм разработки алгоритмов? :)
|
|||
41
Explorer1c
27.01.15
✎
09:19
|
(40) В точку!)
|
|||
42
MSOliver
27.01.15
✎
09:29
|
(41) сколько показателей в отчете?
|
|||
43
Адский плющ
27.01.15
✎
09:31
|
Запутанных задач не бывает. Бывает го*но в голове, которое транслируется в код.
|
|||
44
Explorer1c
27.01.15
✎
09:33
|
(42) это отчет из 700 строк, для каждой практически свой расчет нужен
|
|||
45
VladZ
27.01.15
✎
09:34
|
(41) По этой теме целые книги написаны. Ищи, читай.
Можно, конечно, примерный план накидать. Но всяко будут вопросы по ходу. Учитывая, что форум - это не всегда сообщения по теме, есть вероятность, что будет больше мусора чем важной инфы. |
|||
46
Explorer1c
27.01.15
✎
09:35
|
Проблема в том что пишешь придумываешь алгоритмы , а когда их много путаешься что откуда растет, может написать систему расчета, зафиксировать в экселе и дальше и тп
|
|||
47
Explorer1c
27.01.15
✎
09:35
|
(45) Книг много, а вот какую посоветуешь, лучшую?
|
|||
48
VladZ
27.01.15
✎
09:35
|
(44) 700 строк - это не так уж много. Было дело, на 7.7 ваял обработки более 3х тысяч строк.
|
|||
49
VladZ
27.01.15
✎
09:37
|
(47) Эм... Пороюсь дома в архивах - чиркану.
|
|||
50
Explorer1c
27.01.15
✎
09:45
|
(49) спс!
|
|||
51
MSOliver
27.01.15
✎
09:51
|
(44) Вы не ответили про показатели. 700 показателей в отчете это бред.
|
|||
52
MSOliver
27.01.15
✎
09:52
|
Чё хотим в отчете в студию)
|
|||
53
MSOliver
27.01.15
✎
09:53
|
Либо не верная система хранения БД. Отчет должен собирать данные а не делать Мега-расчеты.
|
|||
54
nordbox
27.01.15
✎
09:54
|
(50) Я проходил эти грабли и не раз
Пункт первый и наверное единственный который ОООчень нужен я как правило его не соблюдаю: Когда что то пишешь пиши четкие и внятные коменты, время ни так много занимает, результата дофига. Когда сильно запутываюсь, тупо делаю распечатку всего что есть, раскладываю и обычной ручкой начинаю писать комены что и для чего я сделал. |
|||
55
nordbox
27.01.15
✎
09:56
|
+54 незнаю у кого как, но распечатанный текст я более нормально воспринимаю чем с экрана
|
|||
56
nordbox
27.01.15
✎
09:58
|
MSOliver(53), ой не говори так, несогласен, расчетов оооочень много бывает.
в спор вступать не буду |
|||
57
nordbox
27.01.15
✎
10:02
|
+56 для примера тебе
например: есть цена закуп, есть цена продажи(их несколько) менялись ручками. Задача: Вывести в таблицу номенклатурe, цена закуп, цена продажи и процент наценки Это самый простой пример процент ты же ни где не хранишь и не знаешь, вот и считай. |
|||
58
MSOliver
27.01.15
✎
10:08
|
(57) это сложно? В СКД делается без программирования в пользовательских полях...
|
|||
59
Explorer1c
27.01.15
✎
10:14
|
(58) Это типо баланса, но по каждому счету надо вытаскивать свои определенные данные , которые иногда с корсчетов подтягиваются, иногда с вида субконто(ГруппаОС, ВидНМА)+ еще есть условия, могу скинуть файлик
|
|||
60
MSOliver
27.01.15
✎
10:18
|
(59) Делал подобное для ЖКХ (там мудрёностей напридумывали) итог отчет есть - вводим тестовые данные он выдаёт контрольный результат - но отчётом ни кто пользоваться так и не научился - только табличных частей (настроек) одиннадцать штук. Итог: похоронили... Отчет не должен делать МЕГА-расчетов...
|
|||
61
IШаман
27.01.15
✎
10:20
|
(0) Да мы особо не креативим, пишем ТЗ далее по нему уже составляем план реализации.
|
|||
62
IШаман
27.01.15
✎
10:21
|
+(61) Кстати, вспомнив недавнюю ветку автора в которой все миром решали "мега задачу", думаю что не мудрено что он путается.
|
|||
63
Адинэснег
27.01.15
✎
10:23
|
(0) >запутался в алгоритмах и процедурах
витамины мож какие для памяти?)) |
|||
64
Галахад
гуру
27.01.15
✎
10:25
|
(0) Надо сделать над собой усилие.
Закрыть браузер и уделить работе хотя бы пару часов. |
|||
65
Trance_1C
27.01.15
✎
10:45
|
(0) для проектирования запутанной логики с глубоким ветвлением хорошо подходят майнд-карты MindManager например
|
|||
66
Explorer1c
27.01.15
✎
10:48
|
благодаря этой ветктке уже сейчас такой подход использую- сначала прописываю условие потом дописываю текс, уже помогло кое-что распутать, в экселе тако текст
а) перебираем все строчки из шаблона, в колонке которых есть "ГруппаКорСубконто" б) на каждую строку вызываем процедуру "ПолучитьТаблицуДляРасчетаПоКорСубконто" в этой процедуре ищем строки из шаблона в которых есть "КорСубконто" со счетом строки- группы для них заполняем текст временной таблицы со своим видом расчета в) на выходе выполняем запрос и выгружаем в ТЗ г) при вывое строк ищем в ТЗ нужные строки, подставляем в выходнуюю форму |
|||
67
vi0
06.02.15
✎
16:07
|
||||
68
Добрый_фей
07.02.15
✎
17:25
|
+60 согласен на все 100% простота и краткость - сестра таланта
|
|||
69
PR
07.02.15
✎
17:37
|
Удивительно, но правильный ответ только аж в (34) посте.
|
|||
70
Explorer1c
07.02.15
✎
20:21
|
+ Еще, как главное условие, хотел бы добавить- полную проработку решения. без участков. начнем а там получится, а то у меня получилось, что все сделал а для последней задачи думал походу решу, оказалось для последней задачи надо было переделать все предыдущие пункты
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |