Короткая заметка про код, случайно увиденный аналитиком

02.09.11

Разработка - Математика и алгоритмы

Статья будет короткой, скорее всего это просто заметка, чтобы не потерять полезную информацию. Посвящена сбору всякой всячины, которая найдена в строках чужого кода. Правильней, конечно, писать позитивный опыт, но у меня тут уже подборочка статей про то, что мне не нравится. Ну и если такое собирается - то, может, это кому-нибудь нужно.

 

Итак, примеры того, что мне не нравится.

1. Когда не знают и не интересуются типовыми механизмами реализации задач.

Например, при заполнении табличной части с номенклатурным составом из другого документа для заполнения данных по бух учету - не пользуются регистром «Счета номенклатуры», а просто в коде прописывают что-то, а потом приходиться переделывать.

Считают НДС умножением на 1,2. А в типовой - не так!

2. Когда непонятно, зачем аналитик задачу ставит.

Когда прямо говоришь, что реквизит А из документа нужно выводить в печатную форму – в коде развлекаются перебросом А в переменную В, и далее, по пути А становится уже на А, а еще куча всего. Хотя сказала ж! И не нужно префиксы обрезать, нужны мне они)

3. Не выдерживают логику ТЗ

Когда пишу, что такое то условие должно выполняться, если выполняется условие А, то оно таки должно выполняться! а не выполняться, когда НЕ выполняются другие условия (В и С), даже если они сейчас являются остатком от полного списка условий на данную минуту времени. Позже могут появиться другие условия, D и F, и как там должно работать – это совсем другой вопрос.

Получается, что аналитик может не знать логику системы, спроектированной им же.

Почему-то в обычной речи такой логики нет:

Мы НЕ пойдем гулять ИЛИ Да?.

4. Делают, то чего не просят.

Например, при необходимости изменить на составной тип измерение в регистре нет необходимости менять по всей конфигурации данный реквизит, нужно сделать это только в тех документах, которые вошли список. Так поддерживать легче.

5. Не комментируют код.

Фамилия и дата - это не достаточный комментарий.

Нужно писать, что ты делаешь в куске кода.

Из-за сложности поддержки такого кода появляются следующий радующий момент, когда есть витки кода, каждый раз проверяющие, нужно или не нужно выполнять условие. Например, Если А=В, то делаем С, через несколько условий опять Если А=В то делаем D, ну и потом еще несколько раз.

Хорошо бы один раз проверить условие и внутри написать все, что выполнить. Просто нужно выделить каждую процедуру и по-человечески написать.

Чаще всего возникает это обычно, от недостатка чтения и усвоения хороших примеров, незнания типовых механизмов реализации.

Написать код, чтоб его поняла машина, каждый сможет, а вот чтоб его человек понял…

Вот и все, дорогие читатели.

См. также

Метод Дугласа-Пойкера для эффективного хранения метрик

Математика и алгоритмы Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    1754    stopa85    12    

33

Алгоритм симплекс-метода для решения задачи раскроя

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    4423    user1959478    50    

34

Регулярные выражения на 1С

Математика и алгоритмы Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.

1 стартмани

09.06.2023    7464    4    SpaceOfMyHead    17    

56

Модель распределения суммы по базе

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    7855    7    kalyaka    11    

44

Изменения формата файлов конфигурации (CF) в 8.3.16

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Дополнение по формату файлов конфигурации (*.cf) в версии 8.3.16.

16.12.2021    4446    fishca    13    

36

Интересная задача на Yandex cup 2021

Математика и алгоритмы Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    8840    John_d    73    

46

Механизм анализа данных. Кластеризация.

Математика и алгоритмы Анализ учета Платформа 1С v8.3 Анализ и прогнозирование Бесплатно (free)

Подробный разбор, с примером использования, встроенного механизма кластеризации 1С.

31.08.2021    7806    dusha0020    8    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. venger 2121 02.09.11 22:05 Сейчас в теме
витки кода


Это из какой метафоры?

З.Ы. А может просто надо научиться читать код?
2. alexk-is 6533 02.09.11 22:18 Сейчас в теме
(1) Это как ещё? Там ведь и так уже всё по русски.
3. anig99 2843 02.09.11 22:54 Сейчас в теме
Фигня какая-то дремучая и старая.
4. salexdv 2327 02.09.11 22:54 Сейчас в теме
Может задачи не правильно ставите?
svartemov; ГМВ; +2 Ответить
10. beigka 219 03.09.11 09:40 Сейчас в теме
(4)тут не в том вопрос, как задачи ставятся, а вопрос во взаимопонимании в которое постоянно вмешивается случайный коэффициент)
5. red80 02.09.11 23:20 Сейчас в теме
Фамилия и дата - это не достаточный комментарий

Я вспомню что я делал в коде, а если изменения вношу не я, значит это делает мой конкурент. Пусть сам разбирается, гад.
dim0n_la; player44; gefest-consult; AlexKoso; OLEG4120; +5 2 Ответить
7. anig99 2843 03.09.11 09:06 Сейчас в теме
(5) Вы не правы. Это простая вежливость. Вдруг Вы эмигрируете в Израиль... Кто будет исправлять Ваш код?
echo77; Spartan; +2 Ответить
31. OLEG4120 162 05.09.11 10:16 Сейчас в теме
(7) Если код отлажен и работает некоторое время, то кому надо, тот пусть и разбирается.
Тем более, что новый функционал всегда должен проверятся заказчиком, т.е. априори отлаживается и в конце концов работает верно
9. beigka 219 03.09.11 09:37 Сейчас в теме
(5)ну, не будем сейчас про тяжелые ситуации, когда нужно выживать, программируя за еду. заметка про качество, а какое качество может быть если у человека кусок хлеба вырывают, это да, вы правы.
(6)(8) а почему вы считаете что нет мужчин с такой логикой? да полно)
11. Ish_2 1104 03.09.11 10:46 Сейчас в теме
(9) Согласен ,навалом.
Как правило , публика охотно разделяет критику безымянных тупых исполнителей.
Я же постою в сторонке. Что-то мешает к Вам присоединиться.

P.S. Вот заглянет Арчибальд и деликатно сформулирует нахлынувшие сомнения и подозрения.
18. beigka 219 03.09.11 13:27 Сейчас в теме
(11) это не критика. это скорее примеры плохого взамодействия.
меня вот раздражает, когда говоришь что работа сделана плохо, а человек обижается, вместо того чтоб исправить или хотя бы больше так не делать.
33. Арчибальд 2706 05.09.11 11:56 Сейчас в теме
(11) Заглянул. Нет у меня сомнения и подозрений. Вижу отголоски обсуждений 30-летней давности самодокументированного структурированного кода... И чуть-чуть про разговорный жанр - там Задорнов приводил лУчший пример:
- Ты будешь чай пить?
- Да нет, наверное...
74. beigka 219 06.09.11 23:16 Сейчас в теме
(33) про логичность сообщений с баша
xxx: Только наши разработчики могли в программе в мессейджбоксе с вопросом "Не сохранять изменения?" сделать кнопки Да и Нет.
xxx: Да, не сохранять... Нет, не сохранять...
75. Арчибальд 2706 07.09.11 07:52 Сейчас в теме
(74)
Только наши разработчики...
Вполне очевидно, что это были не очень наши разработчики. Ни на каком западноевропейском языке нельзя сказать "Нет, не сохранять". Эта же фраза у них звучала бы "ни на каком можно...", либо "на всяком нельзя".
76. cool.vlad4 2 07.09.11 10:16 Сейчас в теме
(75) вот именно, ни в одном западноевропейском, а русский - это восточноевропейский, в славянских языках в отличие от всяких английских, двойное отрицание это запросто...Сам встречал подобную программу...Я лишь помню, что эта сволочь предлагала при изменении документа сохранять и "ДА" и "НЕТ"...Если нажимать да, она ничего не сохраняла, респект разработчику :D
6. Ish_2 1104 03.09.11 08:45 Сейчас в теме
Почему то в обычной речи такой логики нет:
Мы НЕ пойдем гулять ИЛИ Да?.

Взято из женского журнала ?
boffart; echo77; Spartan; ГМВ; cleaner_it; +5 Ответить
8. DoctorRoza 03.09.11 09:23 Сейчас в теме
Почему то в обычной речи такой логики нет:
Мы НЕ пойдем гулять ИЛИ Да?.

:) а-ля блондинка! :)
12. DitriX 2091 03.09.11 11:27 Сейчас в теме
(0)Комментарий в коде - ЗЛО, при чем такое зло, которого мир не видал до сих пор...
Вам никогда не встречался комментарий типа такого:

//Получим сумму
Сумма = Цена / Количество

Это я так. образно, у меня был не один случай, когда я читал комментарий, и искал, как же это реализовано в коде, а оказалось, что человек не правильно написал комментарий, или потом изменил код, не изменив комментарий.
В итоге, я сидел пару часов в обработке по аналитике на 3к строк, и везде офигивал.
После этого удалил все комментарии, что бы не сбивали, и прочитал код, и тогда я все понял.

Фамилия и дата - это не достаточный комментарий.
Согласен, надо бы еще емейл и ник на инфостарте :)
Вот тогда я смогу спросить у него, что и как он делал...
А еще спросить - почему он ушел от клиента, и может сам уйду :)
А если по любовно расстались то думаю в помощи не откажет...
14. Lara.Builova 03.09.11 11:41 Сейчас в теме
(12) Согласна, что комментарии в типовых пишут чисто для выполнения пункта требований. А вот доработчикам их писать вообще не следует, даже таких: // здесь был вася для того чтобы выделить отличия от стандарта. На веру их не беру никогда ввиду их непостоянства. Сравнивнение кода с конфой поставщика - это более профессионально.
(0) Из всей статьи согласна только с первой частью п.1:
1. Когда не знают и не интересуются типовыми механизмами реализации задач.
Остальное отвечает логике "Мы НЕ пойдем гулять ИЛИ Да" на мой взгляд. Возможно не вникла в сермяжную правду будней тестировщиков, сорри.
Что же касается проблем аналитиков - ну тут могу сказать только одно - нужно осваивать более профессиональные методы анализа кода, нежели чем комментарии от пресловутого васи. ИМХО.
20. Alav 13 03.09.11 13:57 Сейчас в теме
(14) Я правильно понимаю, что кроме 1С 8.2 других платформ у 1С нет. Или у 7-ки появилась конфигурация поставщика?
21. Lara.Builova 03.09.11 14:44 Сейчас в теме
(20) Ну вообще-то в случае с семеркой конфигурацией поставщика является мд-файл стандартной конфы.
22. Alav 13 03.09.11 17:11 Сейчас в теме
(21) Которую еще и найти надо
24. Lara.Builova 03.09.11 17:37 Сейчас в теме
(22) Это тоже вопрос профессионализма. У тех, кто работает не с одной базой и не один год, они есть, уверяю :)
15. DitriX 2091 03.09.11 11:46 Сейчас в теме
(12) А ну сравните с конфой поставщика самописный отчет
А вот если бы в виде комментария писали бы общую суть, то тут было бы все гут.
Например -
"Отчет по продажам, с коэф продаж, с средневзвешенной себестоимостью и остатком товара на складе"
"01,02,11 Добавлен курс валют и колонка для его расчета"
"05,05,11 Добавлено оформление колонок, для того, что бы все влазило на 1 лист А4"
"03,11,11 Добавил коэф снижающий оборот продаж, разницу делим с бухом 50 на 50"
13. Jon2011 80 03.09.11 11:29 Сейчас в теме
Мы НЕ пойдем гулять ИЛИ Да?. Я так пишу. Потому как твердо уверен: "гулять не пойдем или пойдем, все равно пиво попью". :D
16. cool.vlad4 2 03.09.11 12:09 Сейчас в теме
А чего всех смущает "Мы НЕ пойдем гулять ИЛИ Да" ("Мы пойдем гулять или нет") - дизъюнкция двух утверждений, если "Да" это краткое "Да, пойдем гулять", - то это дизъюнкция утверждения и его инверсии, а это всегда истина. И тем не менее из этого выражения вовсе не следует, что мы пойдем гулять, или что мы не пойдем гулять.

Насчет комментариев в коде - "добавил то-то " или "Петя 26 число", - без комментариев :D
И еще может быть вся проблема в том, что ("Короткая заметка про код случайно увиденный аналитиком")- случайно?
17. Lara.Builova 03.09.11 12:22 Сейчас в теме
(16) Меня смущает восприятие автором различных условий в коде как то по-бытовому, упрощенно-визуально (про гулять или да).
Взять хотя бы
Считают НДС умножением на 1,2. А в типовой - не так!
- я даже теряюсь в предположениях, что приходится анализировать автору - даже студенты так не пишут. Или это гротеск-упрощение для выражения эмоций, хз :o
19. beigka 219 03.09.11 13:29 Сейчас в теме
вообще, какие то раздраженные люди с утра в субботу... видят то чего нет.
25. Ish_2 1104 03.09.11 18:10 Сейчас в теме
(19) Я извиняюсь.
Не приходилось встречать представителей профессии "аналитик".
Если нетрудно, опишите пожалуйста функции аналитика на Вашем предприятии
(попросту : чем занимается, за что отвечает ;
и совсем попросту : почему без него никак ? ).
23. ShantinTD 91 03.09.11 17:20 Сейчас в теме
Согласен с автором. Иной раз попадается код, который :
1. на типовые решения никаким боком не похож (хотя есть простые и красивые решения),
2. из кода непонятно, что и зачем делается. Названия переменных и функций - бессмысленный набор символов. А иногда и перевернутый с ног на голову.
3. комментарии (если есть) ничуть не облегчают задачу разбора кода.

Так что граждане, нужно не на автора бросаться - а принимать критику. И совершенствоваться. И учиться на ошибках, лучше - на чужих.
26. anton.fly7 173 03.09.11 22:31 Сейчас в теме
мой код купили, он работает, нефиг его править своими кривыми руками!!!
27. ShantinTD 91 03.09.11 23:23 Сейчас в теме
(26) Замечательно. Купили и работает - просто супер. Если правильно работает - то лучшего и желать нельзя. А если работает не совсем так, как надо, или поменялись условия предметной области, и код нужно подправить, а разработчик потерялся... Что тогда делать? Править своими силами, или отдавать на доработку тому разработчику, который не потерялся. И понять, чем руководствовался разработчик при написании той или иной строчки кода, бывает очень и очень непросто. Тут может помочь комментарий. Или навредить, если он не соответствует коду (код исправил, а комментарий оставил старый). Или переменную/функцию назвал так, что правильно понять ее смысл можно только полностью перелопатив код...
Так что править чужой код иногда нужно. А поэтому - нужно писать код так, чтобы его можно было прочитать и подправить.
И еще: код, который нельзя прочитать (не по причине его защищенности), который работает на тонком балансе ошибок, в котором логика подобна указанной выше (Мы НЕ пойдем гулять ИЛИ Да?) - это быдлокод.
Кстати, если дано техническое задание, то оптимизировать можно, но выходить за рамки задания - не стоит.

Это все мое личное мнение, готов встретить критику, но конструктивную.
28. Damian 909 04.09.11 04:14 Сейчас в теме
Согласен с автором и с (27).
ИМХО, код надо всегда комментировать, и при внесении изменений исправлять.
Для себя всегда так делаю. Просто были ситуации, когда приходится модифицировать код, который писал года 3-4 назад. Если бы не мои комментарии, хрен бы сразу разобрался, "зачем тут написаны все эти буквы" :)
29. anton.fly7 173 04.09.11 11:24 Сейчас в теме
(27) скажите, а в комментариях, в своем коде Вы пишете столько же много букв? у вас оклад от количества строк в коде?
30. V_V_V 04.09.11 15:41 Сейчас в теме
(26) В целом еще не доводилось видеть идеального кода. Особенно в крупных решениях. В своих в том числе. Вот так вот взятого и сразу написанного на все случаи жизни, предусматривающего любой чих пользователя. Даже если этот пользователь ставил крест на пузе при постановке задачи, что ему большего никогда и ни за какие коврижки не понадобится.
Ну а автор статьи, на мой взгляд, просто хочет облегчить жизнь. Себе. Заслуживает внимания только 1 пункт.
32. kwazi 615 05.09.11 11:22 Сейчас в теме
больше всего не люблю когда конфигурация поставщика (номер релиза) отличается от основной.
34. i132 122 05.09.11 12:15 Сейчас в теме
5. Например, при необходимости изменить на составной тип измерение в регистре нет необходимости менять по всей конфигурации данный реквизит, нужно сделать это только в тех документах, которые вошли список. Так поддерживать легче.

Если аналитик часто формулирет требования подобным образом, то должно быть часто обижается что его требования реализуют не так.
трудно поверить что за одно поменяли код который делает движения и по другим регистрам - в других регистрах тоже измерение заменили на составной тип?
35. ShantinTD 91 05.09.11 13:45 Сейчас в теме
У меня премия от качества кода. А если для его поддержки требуется написать комментарий (даже подробный), или назвать переменные и функции так, чтобы потом не возникало сомнений в их предназначении - можно и написать. Благо, что сам процесс написания (набора букв) весьма упрощен средой разработки.
Лично я пишу комментарии, в основном, редактируя чужой код. Редактирование моего кода не вызывает у моих коллег затруднений.
Для разгрузки: можно программировать и так - http://ithappens.ru/story/4967 , но рано или поздно это кому-нибудь надоест.
36. romansun 193 05.09.11 16:00 Сейчас в теме
Прочитал.

Не совсем ясно, а зачем аналитик залез в код? Это вроде не его епархия. В моём понимание аналитик всё-таки не архитектор, не ведущий разработчик и не руководитель проекта. А так, если б писал не аналитик - то рациональные зерна есть :).

По культуре кода скажу, что в идеале код должен читаться сам как обычная инструкция. Желательно, чтобы взгляд не спотыкался о конструкции типа "Если НЕ флаг <> ложь Тогда", тогда всем и будет щастье.

Комменты, имхо, уместны, например, в этих случаях:

если не автор оригинального кода менял какие-то куски (указать зачем, почему, указать номер задачи-причины изменения по багтрекеру, если есть),
если написано явно алогично (также указать причину со ссылкой на задачу)
если сложный для понимания (как технически, так и предметно кусок),

в остальном код, повторюсь, должен читаться сам.
NatalyaVP; ShantinTD; cool.vlad4; +3 Ответить
37. Ish_2 1104 05.09.11 16:07 Сейчас в теме
(36) Может , ты мне объяснишь : что такое "аналитик" на предприятии ?
Честное слово , ни разу не встречал.
38. Арчибальд 2706 05.09.11 16:43 Сейчас в теме
(37) Вот, нагуглил
Здесь и далее будем считать системного аналитика (бизнес-аналитика) сотрудником компании-поставщика программного обеспечения, а клиентом – компанию-потребителя ПО. Стоит учитывать, что в крупных организациях существуют самостоятельные ИТ-отделы, занимающиеся автоматизацией ее подразделений, являющихся клиентами.
Ключевая роль системного аналитика в проекте автоматизации компании заключается в разработке непротиворечивой и полной модели требований бизнеса к внедряемому программному обеспечению.
По-любому, в код ему лезть ни к чему.
39. Ish_2 1104 05.09.11 16:52 Сейчас в теме
(38) Смотри-ка, а я лезу в код .
Да, еще как лезу. Чего Вы там ребята опять наковыряли ?
Стало быть , не аналитик.
40. Арчибальд 2706 05.09.11 16:54 Сейчас в теме
(39) АднАзнАчнА.
А вообще-то в заголовке статьи указано, что аналитик увидел код случайно. Что ж, так бывает.
41. Ish_2 1104 05.09.11 16:57 Сейчас в теме
(40) То-то я и гляжу , что тяжеловато мне с вами , аналитиками, тягаться.
42. Арчибальд 2706 05.09.11 16:59 Сейчас в теме
(41) Просто нужен опыт ролевых игр. ;)
44. romansun 193 05.09.11 17:01 Сейчас в теме
(40)
переученные на аналитиков программисты 1С, которые периодически случайно видят код - страшны немеряно! Бойтесь их! :)
43. romansun 193 05.09.11 17:00 Сейчас в теме
(37)
на предприятиях они обычно не водяццо, недостаток корма и солнечного света ))

это атрибут более расширенных социальных групп - контор, которые, собственно, код и производят. И более ничего. Software короч.

По сути, аналитик - это связующее звено между заказчиком (бизнесом) и непосредственно разработчиком ИС. Т.е. перво-наперво он должен уметь чётко и грамотно формализовывать бизнес-процесс на предприятии. Прям так блок-схемами и табличками с прозрачными "Если Иначе КонецЕсли" всё и описать, чтоб было понятно И заказчику И программисту. Всё.

В терминологии 1С-ников - это наш брат 1С-ник, которому надо что-то разработать примерно до момента создания метаданных в конфигурации :).

Наиболее продуктивная работа достигается когда есть связка:
- аналитик, который отлично знает предметную область, с полуслова понимает заказчика и в целом понимает принципы работы баз данных (1С в нашем случае) вплоть до написания простейших запросов в консоле
- программист, который в целом понимает предметную область, понимает заказчика и отлично разбирается в 1С.

http://www.superjob.ru/research/articles/962/biznes-analitik/
46. Ish_2 1104 05.09.11 17:07 Сейчас в теме
(43) При старом режиме говорили "постановщик задачи". Впрочем ,"Аналитик" звучит как-то солиднее.
(42) В ролевых играх мне всегда чудится что-то ужасно неприличное.
Но ,говорят в бизнес-школах" все только этим и занимаются.
48. romansun 193 05.09.11 17:10 Сейчас в теме
(46)
"постановщик задачи" ? Хм... Ну что-то есть, да.. Хотя, на мой взгляд - аналитик шире. Постановка задачи это одна из обязанностей. Не напишут же в трудовой "Ведущий постановшик задачи", а "Ведущий аналитик" - звучит! :)
50. Арчибальд 2706 05.09.11 17:13 Сейчас в теме
(48) В старом справочнике профессий это называлось "инженер-алгоритмист". В том числе, ведущий.
52. пользователь 05.09.11 17:30
Сообщение было скрыто модератором.
...
53. пользователь 05.09.11 22:20
Сообщение было скрыто модератором.
...
54. пользователь 05.09.11 22:26
Сообщение было скрыто модератором.
...
55. Alraune 1502 05.09.11 22:48 Сейчас в теме
(53) Если выставляете статью на открытый ресурс, надо быть готовым к разного рода комментариям, а не только вопросам с целью получить разъяснения. Иначе нужно все писать куда-нибудь в свои личные заметки и никому их не показывать.
Много комментариев - значит, чем-то задели, а это уже неплохо. Иногда среди обсуждения "как бы ни о чем" и очень интересные комментарии появляются, а без этого "ни о чем" их бы, может, и не было
ShantinTD; +1 Ответить
56. beigka 219 05.09.11 23:45 Сейчас в теме
(55) тон обсуждения в любом случае задает модератор. если позволять все подряд то скоро будет не сайт, а забор с соответствующими надписями.
в любом случае если какойто сайт ктото чем то бесплатным наполняют, то можно хотя бы обеспечить достаточный уровень строгости модерации.
57. Alraune 1502 05.09.11 23:48 Сейчас в теме
(56) Соответствующие надписи удаляем :) а строго всех пинать, чтобы писали исключительно "четко по делу", я не вижу смысла.
Будьте выше мелочей и не принимайте все так близко к сердцу, это такая ерунда на самом деле.
58. beigka 219 05.09.11 23:55 Сейчас в теме
(57)рецедив порождает безнаказанность
138. venger 2121 09.09.11 16:55 Сейчас в теме
(56)
beigka пишет:
тон обсуждения в любом случае задает модератор.


Извините, тон обсуждения никто не задает, модераторы могут отреагировать на нарушения, но никак не могут (как и автор статьи) диктовать тон сообществу, в котором оно хочет обсуждать то или иное..

(56)
beigka пишет:
в любом случае если какойто сайт ктото чем то бесплатным наполняют, то можно хотя бы обеспечить достаточный уровень строгости модерации.


Извините, а достаточный уровень содержания Вы в состоянии обеспечить, прежде чем требовать какой-то уровень модерации? Или Вы всерьез эту писульку, называете статье с каким-то полезным содержанием? Уж не обижайтесь но "такое" полезное содержание тоже не особо полезно, на самом деле....
59. Арчибальд 2706 06.09.11 07:59 Сейчас в теме
(53) Давайте разбираться. В статье (заметке) речь о "коде, случайно увиденном аналитиком". Если эту статью обсуждать (иначе для чего она выложена), то, в первую очередь, надо определиться с терминами. Профессии "аналитик" в России (ОКПДТР) не существует (хотя есть, например, "Менеджер в подразделениях (службах) компьютерного обеспечения"). На прямой вопрос в (25) и (37) ответа получено не было, зато случился авторский минус. Потом появился пост (43) с авторским плюсом, развернутый в (48) и (51). И наконец, авторский пост
по моему флуд, это когда комментируют и вопросы задают не для того чтобы ответ получить, а для других целей.
Флуд появляется, когда автор не отвечает на конкретные вопросы. Тогда участники обсуждения начинают вольно фантазировать и обмениваться мнениями, пытаясь все же понять, о чем речь. Бывает, как верно замечено в (55), в этом "околотематическом словоблудии" рождается нечто более глубокое и информативное, чем исходная тема, бывает - нет.
Вот так как-то.
Valerich; +1 Ответить
60. beigka 219 06.09.11 10:32 Сейчас в теме
(59)флуд появляется когда человек может безнаказанно писать под чужой статьей все что пришло в его раздраженный мозг и это пусть психиатры выясняют глубокую причину почему. я думаю что слабая модерация будет привлекать все больше желающих пофлудить, вместо того чтоб обсудить что либо. общий тон сайта ухудшился в разы с предыдущей моей публикации.
в "пацанском" сообществе не сильно про качество поговоришь... печально.
61. Alraune 1502 06.09.11 11:07 Сейчас в теме
(60)
общий тон сайта ухудшился в разы с предыдущей моей публикации

Не поленилась, прочитала комментарии к Вашей предыдущей публикации: http://forum.infostart.ru/forum24/topic28663/
Мое мнение - общий тон не изменился
62. Арчибальд 2706 06.09.11 11:30 Сейчас в теме
(60) Ну, давайте посмотрим на прошлое. http://infostart.ru/public/19869/ - статья с попыткой доказать нужность, в т.ч., аналитика.
Если совмещать функции, или проигнорировать необходимость аналитика, тестировщика и консультанта, то можно сэкономить. На каком этапе управления анализ - планирование – воплощение – контроль экономить будем? Какой из них выбросим?
Судя по этой заметке, решили выбросить этап воплощения. Это мнение выражает 47 пост. При чем здесь раздраженный мозг?
Вот комментарий оттуда Ish_2, чей 25-й пост вызвыл такое неудовольствие
Я извиняюсь. Осмелюсь на утверждение :
Внедрение программных продуктов на мелких и средних предприятиях в 80% случаях осуществляют реально 1-2 чел. Это плохо , но так есть.
И нет никаких оснований полагать , что в ближайшее время что-то изменится.

Для этой основной, подавляющей массы автоматизаторов читать о том , что есть архитектор, аналитик, программист, консультант и т.д. ,конечно, интересно.
Я думаю , они даже с Вами согласятся : "Ага.. это было бы неплохо ..".

Т.е. два года назад существование/нужность, в частности, отдельного аналитика подвергалось сомнению. Ну не видел Игорь аналитика в команде проекта. Точнее, он не видит не аналитика, а человека с такой должностью. Да и в Вашей статье (той, не этой) это не должность, а исполнитель этапа. Анализ - синтез - воплощение - контроль. Если отсутствуют (неквалифицированы, постоянно меняются и т.п.) исполнители этапа воплощения, вполне очевидно, что остальные этапы никчемны.
в "пацанском" сообществе не сильно про качество поговоришь... печально.
Вот все обсуждение здесь как раз касается качества. А обшая идея в том, что качество результата проекта зависит от наличия/отсутствия в команде человека с модным наименованием "аналитик" в последнюю очередь. А в первую очередь - от наличия квалифицированных реализаторов ("воплотителей"). И, как верно заметил Игорь в (52),
Умение анализировать - редкое качество, характеристика индивида , но никак не профессии.
Если это флуд, что же тогда обсуждение? Поглаживание автора по шерстке что ли?
Ilyabaykov; Spartan; Lara.Builova; +3 Ответить
72. beigka 219 06.09.11 22:35 Сейчас в теме
(62) то что мне не понравилось, удалили.
нужен ли аналитик (и какие функции он должен выполнять в процессе производства ПО), или нет, должен решать начальник производственного отдела предприятия.
еще раз повторю, статья не про профессию, не про личность талантливейших воплотителей, совершивших единственный промах, каждый из которых я старательно записала и написала короткую статью.
статья про "Не пойдем гулять или да". про ситуации плохого взаимодействия постановщика задачи и программиста. и все, не ищите там того чего нет.
77. tango 506 07.09.11 10:22 Сейчас в теме
2(60) не хотел бы работать с таким аналитиком
49. Арчибальд 2706 05.09.11 17:12 Сейчас в теме
(46)
в бизнес-школах все только этим и занимаются
Именно поэтому так мало приличных бизнес-школ.
47. Арчибальд 2706 05.09.11 17:10 Сейчас в теме
(43) Оно так... Сидят в софтверной фирме (франче, ИТ-подразделениии) на очень приличной зарплате профессиональные "Аналитики" и "Руководители проектов", жаба их душит, они и набирают быдлокодеров за тарелку супа. Те, ясен пень, долго не задерживаются. Вот тут-то оные "профессионалы" и начинают избавляться у себя от лишнего волосяного покрова во всех местах. И громко публично скорбеть.
51. romansun 193 05.09.11 17:18 Сейчас в теме
(47)
ну 1С-франчи и прочие 1С - вообще такая типа мини-модель нашего государства в контексте всего ИТ-сообщества :) Тут всё перевернуто с ног на голову, кто чем занимается - не ясно, обязанности размыты, ответственность тоже.. Квалификации сомнительны.

я описал скорее классическую модель аналитика в программистской конторе не 1С профиля. А названия часто - просто кальки с западных классификаций, поскольку в 90-х мы "провалились" в плане развития программистских контор, а теперь просто берут импортные модели штатного расписания да и делов ))
45. romansun 193 05.09.11 17:04 Сейчас в теме
Ну вот супержоб подсказывает, что хорошие аналитики должны еще уметь оптимайзить бизнес-процессы какбе. Ох... Это где-то в параллельной вселенной :)
63. OLEG4120 162 06.09.11 12:12 Сейчас в теме
Ни как не могу успокоится!

Уж лучше никак не комментировать чем так:

Альфа-Авто 4.1

Обработка СтартСистемы: Форма
(стр 620):

...
Исключение
  Сообщить("Нет прав на очистку значения константы ""Сервер защиты"", в случае неудачного запуска обратитесь к Администратору БД");
  ЭлементыФормы.СерверСинхронизации.Доступность = Ложь;
КонецПопытки;
Иначе // Здесь у нас возможно ситуация когда пользователь на своем ноутбуке временно переключился
      // на свою локальную систему из-за того что он не в офисе сейчас - ничего менять не будем и
      // тогда при возвращении в офис и подключении в сеть он опять автоматом получит все обновления
      // если же он хочет совсем от общей схемы отключится, то пусть сам тогда вручную константу очистит
КонецЕсли;
...
Показать


(стр 662)
...
ФС = НЕОПРЕДЕЛЕНО;
Результат = Истина; // Если до сюда дошли и не свалились нигде - значит точно все хорошо :-)
...


(стр 677)
...
Если Найти(ТекстОшибки,"устарела")>0 Тогда 
// а это у нас случай "хитрой ситуации", когда обновили конфигурацию,
// а настройки в БД соответствуют старой системе защиты
ОбъектКомпьютер=ПараметрыСеанса.Компьютер.ПолучитьОбъект();
...


(стр 527)
...
// Получилась синхронизация или нет, но попытаться загрузиться мы обязаны
// (а вдруг у нас все нужное есть для работы в каталоге?)
ЗагрузитьКомпонентуЗащиты(); // ушли на попытку загрузить внешнюю компоненту типового решения
...
64. cool.vlad4 2 06.09.11 12:43 Сейчас в теме
(63) Бывают те еще перлы...я помню давно читал забугорный форум, по поводу комментирования кода и честно говоря посмеялся от души...сейчас попробую по памяти привести пару комментов


//Не редактировать. Все изменения будут отменены


//Когда-то я писал этот код, как я писал его , понимал только Бог и Я.
//Теперь, только Бог.


//Иногда я подозреваю, что компилятор игнорирует все мои комментарии!!!


// Я посвящаю весь мой код моей жене, которая несмотря ни на что, всегда поддерживала меня и наших троих детей и собаку,
Nefertary; beigka; OLEG4120; Lara.Builova; +4 Ответить
65. cool.vlad4 2 06.09.11 12:46 Сейчас в теме
А еще мне нравятся комменты (особенно если я их оставляю :D ), описание про то как можно сделать быстрее, лучше, но по какой-то неведомой причине написан быклокод...и в конце приписка, "ну вы знаете, как это бывает...торопился" или "писал на коленке"
66. cool.vlad4 2 06.09.11 12:49 Сейчас в теме
А вообще автор должен понимать, что полез в пекло ;) Этот как программист напишет на сайте аналитиков, "Елы, палы,встречаются дурные аналитики, и анализируют не так как надо"...
71. beigka 219 06.09.11 22:28 Сейчас в теме
(66)главное разделять оценку работы и человека, не переходить на личности.
в свое время сидела на форумах аналитиков и искала примеры документации любого качества, чтоб примеры были...
читала и смотрела - где бы я исправила и улучшила. знание приемов правильного написания чегото и положительный опыт конечно более важны для самосовершенствования, но анекдотичные примеры, как делать нельзя, это тоже интересно помоему.
73. Lara.Builova 06.09.11 22:37 Сейчас в теме
(71) Может быть выскажите свое мнение на эту проблему?
68. anig99 2843 06.09.11 13:05 Сейчас в теме
Мне вот интересно, а как аналитики анализируют код на языках вроде brainfuck?
69. cool.vlad4 2 06.09.11 13:07 Сейчас в теме
(69) Мне интересно как программисты его анализируют :D
70. anig99 2843 06.09.11 13:12 Сейчас в теме
(69) программисты не должны отбирать хлеб аналитиков. Программисты программируют, а аналитики анализируют.
79. Prepod2003 245 07.09.11 12:25 Сейчас в теме
Очень не понравился тон статьи (хотя и есть здравые мысли) – автор относиться к инженерам-программистам, то есть людям одной из самых сложных и интеллектуально емких профессий с явным пренебрежением, высокомерием, надменностью – это не признак ума самого автора конечно. Вообще, гордыня – это в принципе признак глупости и молодости, ибо только глупые люди страдают этой болезнью до такой степени, что выпячивают ее всем напоказ. Скромнее надо быть и более уважительно относится к чужому очень сложному труду.
И присоединяюсь к предыдущему комментарию – тоже не хотел бы работать с таким аналитиком, хотя и сам являюсь аналитиком и программистом.
94. beigka 219 07.09.11 17:21 Сейчас в теме
(79)(77)никто не предлагает) и вообще судить о человеке по качеству его небольшой статьи... несколько недальновидно. хотя и нравиться тут всем я и не собиралась. не нравиться - не читайте.
статья действительно о негативном опыте. о позитивном опыте методики не будут в формате одной страничке текста в виде статьи на бесплатной основе) это по моему более монументальный должен быть труд)
100. Prepod2003 245 07.09.11 17:44 Сейчас в теме
(94)Поймите одну простую вещь, к высокоинтеллектуальному труду надо относится с уважением (впрочем, также как и к любому другому). Для меня очевидно, что у Вас нет этого уважения и может в большей степени по этому вы получаете то, чего ожидаете. Потому что действительно спец с Вами, скорее всего, работать не будет, зачем ему это…? просто изначально у Вас идет негатив – люди это сразу чувствуют. Сейчас клиентов достаточно, что бы связываться с недостойным его уровня отношением и доказывать кому-то что он не верблюд. Да и вопрос оплаты не мало важен, хотите высочайшего качества и гарантий – платите соответственно. Знаете, я вот машину если ремонтирую в фирменном сервисе, то соответственно и спрашиваю - а если уж обратился к дяде Васе или студенту авто слесарного ПТУ в гараж за три копейки, то и не требую выполнения высоких европейских стандартов (описаний, актов выполнения работ, гарантий заоблачных и т.д.) …
Spartan; ShantinTD; +2 Ответить
80. rebuzx 162 07.09.11 13:12 Сейчас в теме
Статья мне не понравилась, но соглашусь с комментами программеров.
Вот примерчик когда больничный налогается на отпуск задаётся такой хитрый вопрос: (Кстати писала дама)

ТекстВопроса = ТекстВопроса + "
|I. Сразу будете учитывать не отгуляные дни отпуска (""Да""):
|1.продлением текущего отпуска или 2.оформлением нового документа на неиспользованные дни,
|или (""Нет""):
|II. потом ручным оформлением нового документа на неиспользованные дни?";

после того как выбрали вариант ещё впросик:
"Формировать документ на дополнительные дни отпуска (догул)? "

выбрали вариант и далее вопросик
"Оформить заявление на предоставление не отгуляных дней в другое время?"

если согласились с последним вопросом то
Предупреждение("Извините такая возможность пока не работает!");

Дата создания кода //<<<<<< 2010_04_07 Пупкина
82. romansun 193 07.09.11 13:53 Сейчас в теме
(80)

Ну вообще в 1С есть проблема интерактивного взаимодействия с пользователями. Давно в задумке статья на эту тему...

А так - сплошь и рядом непонятные вопросы, непонятные предупреждения, двойное отрицание в вопросах, явная надменность программистов (выражается в предупреждениях, рассчитанных отнюдь не на пользователя), хроническая скрытность сообщений ("Не заполнены необходимые поля" - при этом, какие это поля, не уточняется) и т.д. и т.п.

Причем всё это можно видеть и в типовых 1С-ных конфах.

ЗЫ.. а потом все удивляются - ну как же так Apple-то взлетел с ойФонами?? Ведь всё уже было до них придумано, и сейчас что все так их раскупают? А секрета нет. Юзабилити. Даже если самую простую и сто раз изъезженную тему сделать с превосходным юзабилити - она выстрелит. Все отсальное (реклама, маркетинг и пр.) лишь дополняют.
83. cool.vlad4 2 07.09.11 13:59 Сейчас в теме
(82)
ЗЫ.. а потом все удивляются - ну как же так Apple-то взлетел с ойФонами?? Ведь всё уже было до них придумано, и сейчас что все так их раскупают? А секрета нет. Юзабилити. Даже если самую простую и сто раз изъезженную тему сделать с превосходным юзабилити - она выстрелит. Все отсальное (реклама, маркетинг и пр.) лишь дополняют.
Да, простые вещи отнюдь не просты. Эх, когда ж Стив займется уже наконец 1С. Чего он откладывает? ;)
84. rebuzx 162 07.09.11 14:03 Сейчас в теме
(82) "Ну вообще в 1С есть проблема интерактивного взаимодействия с пользователями. Давно в задумке статья на эту тему..."

Иииии вот тут то на сцену и должна выходить прокладка с именем "Аналитик", понимающий и умеющий донести суть до разных сторон. Ну а если прокладка протекает, менять нужно.
В противном случае появляются подобные статьи на тему "однобокие эсники"
102. romansun 193 07.09.11 18:17 Сейчас в теме
(84)(87)

Я чуть оффтоп влез похоже, но про "Проблема интерактивного взаимодействия с пользователями" я писал не в контексте программист-аналитик, но программист-пользователь. Аналитика не имел ввиду вообще. Чисто смысловые проблемы интерактивных окошек - непонятные вопросы, непонятные предупреждения, "нерусские" фразы, нелогичные действия на нажатые кнопки (выбранные галки) в диалогах и т.п.

Про аналитиков.

Которые попадаются по работе мне, примерно 30/70 - грамотные/неграмотные (или лучше - подходящие/неподходящие)

Основные к ним претезии такие:

- слабо понимают принципы построения БД - постоянно предлагают избыточные структуры, дублирующуюся информацию, логические противоречия;

- слабо разбираются в 1С - постоянные проблемы терминологии (часто заимствуют терминологию из других систем, где работали раньше, чем вводят программистов 1С в ступор), непонимание общих принципов работы объектов в 1С (регистров, документов, форм, модулей объектов и пр.);

- совершенно корявая постановка задач 1 - это вообще бич всех аналитиков! :) Они не переводят требования заказчика на язык it-специалистов, а переводят их на какие-то свои языки - и не заказчика и не программиста;

- совершенно корявая постановка задач 2 - "Необходимо в справочник А добавить строковый реквизит Б". Всё. Вся задача. Ни предпосылок, ни объяснения ситуации, никакой инфы вообще. Иными словами, дай им волю, сами бы добавили. Как результат - через полтора года помойка, а не база.

- завышенное самомнение и пафос встречается - "бизнес ожидает получить", "бизнес посмотрел работу предложенного", "требования бизнеса всегда были таковы" -тьфу!! гомосятина...

- некоторые лезут в код. И тогда начинается вообще феерия, поскольку нахватавшись каких-то сиюминутных знаний и пытаясь разобраться в проблеме самостоятельно - делают неверные выводы по коду,... так еще и советы дают! :D

Короч, в целом на сегодняшний момент и в моей рабочей ситуации могу сказать так - аналитики реально мешают работать, создавая дополнительные проблемы коммуникации и дополнительные проволочки. Возможно (и надеюсь!) в других рабочих коллективах, в других средах как-то лучше.
Ish_2; Spartan; MaxDavid; Арчибальд; cool.vlad4; Prepod2003; +6 Ответить
103. cool.vlad4 2 07.09.11 18:24 Сейчас в теме
(102) О, дык это же постановщики ТЗ, в чистом виде. Это полбеды, если они на своем непонятном языке тебе расскажут проблему, а если они будут пытатся описать решение проблемы, как они считают...Такое попадалово....
104. Арчибальд 2706 07.09.11 18:38 Сейчас в теме
(102) Может, упомянутые 30 где-то и существуют; мне же только представители 70 попадались.
К перечисленному добавлю:
- Ни за что не отвечают, ибо посредники, а значит, имеют возможность списывать свои косяки либо на консультантов/заказчиков, либо на программистов/исполнителей. И накой им при таком раскладе быть профессионалами? Это как советская номенклатура: анализирую что угодно, но за приличные бабки.

... Собственно, все это неоднократно уже обсуждалось...
109. beigka 219 07.09.11 20:04 Сейчас в теме
(102) желаю вам встретить хорошего и полезного аналитка и получить хороший опыт.
116. Ish_2 1104 08.09.11 09:08 Сейчас в теме
(102) Ух ты, как лихо систематизировал !
Если анализировать "как есть" , а не "как умные люди пишут" , то на практике получаем ,
что соображения "вообще говоря , аналитик , конечно, нужОн !" - стоят недорого.
На практике получаем , что один "аналитик+программист" всегда эффективнее,
чем два : "аналитик" и "программист".
Это значит , не стоит искусственно разделять эти две функции.
И в реальных проектах стремиться к такому совмещению.
87. Арчибальд 2706 07.09.11 14:43 Сейчас в теме
(82) Один мой ответ на этот комментарий сгинул в безвестности...
Проблема интерактивного взаимодействия с пользователями - это проблема не программиста. Раз уж есть аналитик, он должен предусмотреть, когда системе понадобится от пользователя информация и какая. А системный архитектор должен позаботиться о том, чтобы в результате диалога система не развалилась - ну, и чтобы диалог был внятным. А программист за тарелку супа исполняет указания аналитика и синтетика от и до (вариант итальянской забастовки), в результате система таки разваливается.
Хороший программист указания, конечно, послушает, но затем проведет свой независимый анализ и синтез и согласится либо не согласится с предыдущими товарищами - если оные товарищи в наличии.
Если же этих посредников нет, программист сам с собой играет в ролевые игры - примерно, как в http://infostart.ru/public/74501/. Вот тогда и только тогда претензии к нему.
96. beigka 219 07.09.11 17:21 Сейчас в теме
(87) наверно не все вопросы мне интересны, потому не на все отвечаю.
95. Lara.Builova 07.09.11 17:21 Сейчас в теме
(82) Откомментируйте по ссылке из (73), интересно, что скажет художник :idea:
81. Spartan 365 07.09.11 13:19 Сейчас в теме
Просмотрел сейчас другие публикации автора, начиная с самой первой, за которую я когда-то поставил плюс... Вижу, что практически все они написаны в раздраженном тоне с негативным подтекстом, хотя автор и пытается представить его позитивным ("предостерегаю других от ошибок"). Этот же тон прослеживается в комментариях выше. Для первой публикации это было нормально и даже забавно, сейчас - уже напрягает.
85. Ilyabaykov 121 07.09.11 14:04 Сейчас в теме
Не хочется никого обижать, но если таким же языком пишутся ТЗ то не удивительно, что код нечитабельный.

А по существу статьи - с первой по четвертую заметку это в первую очередь косяки аналитика, а не программиста. Если в ТЗ написано добавить реквизит "Сумма", но не сказано зачем, или сказано языком, как написана данная заметка, то ничего удивляться, что кодер не вник в ТЗ и не воспользовался типовыми механизмами для расчета значения этого реквизита.

Касательно комментариев - частично вытекает из предыдущего (сложно написать нормальный комментарий к тому, логику чего не понимаешь) а частично к организации работы - если претендуем на "серьезность" разработки, то будьте любезны использовать хранилище и какой-нибудь механизм управления разработкой. В этом случае в комментариях достаточно указывать идентификатор задания, а все остальная информация (кто, когда, зачем и по чьей просьбе) получается из управления разработкой и хранилища.

Не подумайте, что выгораживаю разработчиков, они косячат и ещё как, но в данном случае претензии совершенно не по адресу.
86. ShantinTD 91 07.09.11 14:25 Сейчас в теме
А я все-таки вступлюсь, и приведу свой пример - светофор.
ПДД предусматривают следующие сигналы:
-красный
-желтый
-зеленый
-красный+желтый
-желтый мигает
-зеленый мигает
кроме того еще бывает, что
-светофор выключен (это тоже сигнал)
-лампочка просто перегорела
-светофор замыкает, и горит несуразный набор лампочек
-и прочее.
А еще бывают дополнительные секции на светофоре, реверсивные, пешеходные, велосипедные....

И вообще на трех лампах (с одной стороны) можно подать несколько больше различных сигналов.

И неправильно будет написать:
ЕСЛИ Сигнал = ЗеленыйГорит ТОГДА
Поехали();
ИНАЧЕ
ЖдемЗеленого();
КОНЕЦЕСЛИ;

Так что если сказано описать выполнение каждого условия отдельно, то нужно описать каждое условие отдельно. Чтобы потом не пришлось переписывать все. Где гарантия, что послезавтра не ПДД не дополнят новым сигналом светофора? И этот сигнал будет попадать в когда-то правильно описанные в коде условия...
88. tango 506 07.09.11 16:09 Сейчас в теме
к тяме последних постов книжка есть "Психбольница в руках пациентов"
89. aikosyapr 25 07.09.11 16:23 Сейчас в теме
Если возникает желание написать комментарий к коду, следует ещё раз внимательно взглянуть на код: вероятно он требует доработки
ShantinTD; +1 Ответить
Оставьте свое сообщение