gifts2017

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

Опубликовал beigka (beigka) в раздел Программирование - Теория программирования

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Венгер (venger) 02.09.11 22:05
витки кода


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

З.Ы. А может просто надо научиться читать код?
2. Алексей Константинов (alexk-is) 02.09.11 22:18
(1) Это как ещё? Там ведь и так уже всё по русски.
3. Александр Медведев (anig99) 02.09.11 22:54
Фигня какая-то дремучая и старая.
4. Alxd (salexdv) 02.09.11 22:54
Может задачи не правильно ставите?
svartemov; ГМВ; +2 Ответить 1
5. red 80 (red80) 02.09.11 23:20
Фамилия и дата - это не достаточный комментарий

Я вспомню что я делал в коде, а если изменения вношу не я, значит это делает мой конкурент. Пусть сам разбирается, гад.
dim0n_la; player44; KarpovDeniska; AlexKoso; OLEG4120; +5 2 Ответить 2
6. Игорь Исхаков (Ish_2) 03.09.11 08:45
Почему то в обычной речи такой логики нет:
Мы НЕ пойдем гулять ИЛИ Да?.

Взято из женского журнала ?
boffart; echo77; Spartan; ГМВ; cleaner_it; +5 Ответить 1
7. Александр Медведев (anig99) 03.09.11 09:06
(5) Вы не правы. Это простая вежливость. Вдруг Вы эмигрируете в Израиль... Кто будет исправлять Ваш код?
echo77; Spartan; +2 Ответить 1
8. Алексей Роза (DoctorRoza) 03.09.11 09:23
Почему то в обычной речи такой логики нет:
Мы НЕ пойдем гулять ИЛИ Да?.

:) а-ля блондинка! :)
9. beigka (beigka) 03.09.11 09:37
(5)ну, не будем сейчас про тяжелые ситуации, когда нужно выживать, программируя за еду. заметка про качество, а какое качество может быть если у человека кусок хлеба вырывают, это да, вы правы.
(6)(8) а почему вы считаете что нет мужчин с такой логикой? да полно)
10. beigka (beigka) 03.09.11 09:40
(4)тут не в том вопрос, как задачи ставятся, а вопрос во взаимопонимании в которое постоянно вмешивается случайный коэффициент)
11. Игорь Исхаков (Ish_2) 03.09.11 10:46
(9) Согласен ,навалом.
Как правило , публика охотно разделяет критику безымянных тупых исполнителей.
Я же постою в сторонке. Что-то мешает к Вам присоединиться.

P.S. Вот заглянет Арчибальд и деликатно сформулирует нахлынувшие сомнения и подозрения.
12. Дмитрий Шерстобитов (DitriX) 03.09.11 11:27
(0)Комментарий в коде - ЗЛО, при чем такое зло, которого мир не видал до сих пор...
Вам никогда не встречался комментарий типа такого:

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

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

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

Насчет комментариев в коде - "добавил то-то " или "Петя 26 число", - без комментариев :D
И еще может быть вся проблема в том, что ("Короткая заметка про код случайно увиденный аналитиком")- случайно?
17. Lara.Builova 03.09.11 12:22
(16) Меня смущает восприятие автором различных условий в коде как то по-бытовому, упрощенно-визуально (про гулять или да).
Взять хотя бы
Считают НДС умножением на 1,2. А в типовой - не так!
- я даже теряюсь в предположениях, что приходится анализировать автору - даже студенты так не пишут. Или это гротеск-упрощение для выражения эмоций, хз :o
18. beigka (beigka) 03.09.11 13:27
(11) это не критика. это скорее примеры плохого взамодействия.
меня вот раздражает, когда говоришь что работа сделана плохо, а человек обижается, вместо того чтоб исправить или хотя бы больше так не делать.
19. beigka (beigka) 03.09.11 13:29
вообще, какие то раздраженные люди с утра в субботу... видят то чего нет.
20. Алексей (Alav) 03.09.11 13:57
(14) Я правильно понимаю, что кроме 1С 8.2 других платформ у 1С нет. Или у 7-ки появилась конфигурация поставщика?
21. Lara.Builova 03.09.11 14:44
(20) Ну вообще-то в случае с семеркой конфигурацией поставщика является мд-файл стандартной конфы.
22. Алексей (Alav) 03.09.11 17:11
(21) Которую еще и найти надо
23. Тимофей Шантин (ShantinTD) 03.09.11 17:20
Согласен с автором. Иной раз попадается код, который :
1. на типовые решения никаким боком не похож (хотя есть простые и красивые решения),
2. из кода непонятно, что и зачем делается. Названия переменных и функций - бессмысленный набор символов. А иногда и перевернутый с ног на голову.
3. комментарии (если есть) ничуть не облегчают задачу разбора кода.

Так что граждане, нужно не на автора бросаться - а принимать критику. И совершенствоваться. И учиться на ошибках, лучше - на чужих.
24. Lara.Builova 03.09.11 17:37
(22) Это тоже вопрос профессионализма. У тех, кто работает не с одной базой и не один год, они есть, уверяю :)
25. Игорь Исхаков (Ish_2) 03.09.11 18:10
(19) Я извиняюсь.
Не приходилось встречать представителей профессии "аналитик".
Если нетрудно, опишите пожалуйста функции аналитика на Вашем предприятии
(попросту : чем занимается, за что отвечает ;
и совсем попросту : почему без него никак ? ).
26. Антон (anton.fly7) 03.09.11 22:31
мой код купили, он работает, нефиг его править своими кривыми руками!!!
27. Тимофей Шантин (ShantinTD) 03.09.11 23:23
(26) Замечательно. Купили и работает - просто супер. Если правильно работает - то лучшего и желать нельзя. А если работает не совсем так, как надо, или поменялись условия предметной области, и код нужно подправить, а разработчик потерялся... Что тогда делать? Править своими силами, или отдавать на доработку тому разработчику, который не потерялся. И понять, чем руководствовался разработчик при написании той или иной строчки кода, бывает очень и очень непросто. Тут может помочь комментарий. Или навредить, если он не соответствует коду (код исправил, а комментарий оставил старый). Или переменную/функцию назвал так, что правильно понять ее смысл можно только полностью перелопатив код...
Так что править чужой код иногда нужно. А поэтому - нужно писать код так, чтобы его можно было прочитать и подправить.
И еще: код, который нельзя прочитать (не по причине его защищенности), который работает на тонком балансе ошибок, в котором логика подобна указанной выше (Мы НЕ пойдем гулять ИЛИ Да?) - это быдлокод.
Кстати, если дано техническое задание, то оптимизировать можно, но выходить за рамки задания - не стоит.

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

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

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

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

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

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

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

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

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

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

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

http://www.superjob.ru/research/articles/962/biznes-analitik/
44. Роман Романов (romansun) 05.09.11 17:01
(40)
переученные на аналитиков программисты 1С, которые периодически случайно видят код - страшны немеряно! Бойтесь их! :)
45. Роман Романов (romansun) 05.09.11 17:04
Ну вот супержоб подсказывает, что хорошие аналитики должны еще уметь оптимайзить бизнес-процессы какбе. Ох... Это где-то в параллельной вселенной :)
46. Игорь Исхаков (Ish_2) 05.09.11 17:07
(43) При старом режиме говорили "постановщик задачи". Впрочем ,"Аналитик" звучит как-то солиднее.
(42) В ролевых играх мне всегда чудится что-то ужасно неприличное.
Но ,говорят в бизнес-школах" все только этим и занимаются.
47. Александр Рытов (Арчибальд) 05.09.11 17:10
(43) Оно так... Сидят в софтверной фирме (франче, ИТ-подразделениии) на очень приличной зарплате профессиональные "Аналитики" и "Руководители проектов", жаба их душит, они и набирают быдлокодеров за тарелку супа. Те, ясен пень, долго не задерживаются. Вот тут-то оные "профессионалы" и начинают избавляться у себя от лишнего волосяного покрова во всех местах. И громко публично скорбеть.
48. Роман Романов (romansun) 05.09.11 17:10
(46)
"постановщик задачи" ? Хм... Ну что-то есть, да.. Хотя, на мой взгляд - аналитик шире. Постановка задачи это одна из обязанностей. Не напишут же в трудовой "Ведущий постановшик задачи", а "Ведущий аналитик" - звучит! :)
49. Александр Рытов (Арчибальд) 05.09.11 17:12
(46)
в бизнес-школах все только этим и занимаются
Именно поэтому так мало приличных бизнес-школ.
50. Александр Рытов (Арчибальд) 05.09.11 17:13
(48) В старом справочнике профессий это называлось "инженер-алгоритмист". В том числе, ведущий.
51. Роман Романов (romansun) 05.09.11 17:18
(47)
ну 1С-франчи и прочие 1С - вообще такая типа мини-модель нашего государства в контексте всего ИТ-сообщества :) Тут всё перевернуто с ног на голову, кто чем занимается - не ясно, обязанности размыты, ответственность тоже.. Квалификации сомнительны.

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

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

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

Т.е. два года назад существование/нужность, в частности, отдельного аналитика подвергалось сомнению. Ну не видел Игорь аналитика в команде проекта. Точнее, он не видит не аналитика, а человека с такой должностью. Да и в Вашей статье (той, не этой) это не должность, а исполнитель этапа. Анализ - синтез - воплощение - контроль. Если отсутствуют (неквалифицированы, постоянно меняются и т.п.) исполнители этапа воплощения, вполне очевидно, что остальные этапы никчемны.
в "пацанском" сообществе не сильно про качество поговоришь... печально.
Вот все обсуждение здесь как раз касается качества. А обшая идея в том, что качество результата проекта зависит от наличия/отсутствия в команде человека с модным наименованием "аналитик" в последнюю очередь. А в первую очередь - от наличия квалифицированных реализаторов ("воплотителей"). И, как верно заметил Игорь в (52),
Умение анализировать - редкое качество, характеристика индивида , но никак не профессии.
Если это флуд, что же тогда обсуждение? Поглаживание автора по шерстке что ли?
Ilyabaykov; Spartan; Lara.Builova; +3 Ответить 1
63. Олег (OLEG4120) 06.09.11 12:12
Ни как не могу успокоится!

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

Альфа-Авто 4.1

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

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


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


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


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


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


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


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


// Я посвящаю весь мой код моей жене, которая несмотря ни на что, всегда поддерживала меня и наших троих детей и собаку,
Nefertary; beigka; OLEG4120; Lara.Builova; +4 Ответить
65. Ийон Тихий (cool.vlad4) 06.09.11 12:46
А еще мне нравятся комменты (особенно если я их оставляю :D ), описание про то как можно сделать быстрее, лучше, но по какой-то неведомой причине написан быклокод...и в конце приписка, "ну вы знаете, как это бывает...торопился" или "писал на коленке"
66. Ийон Тихий (cool.vlad4) 06.09.11 12:49
А вообще автор должен понимать, что полез в пекло ;) Этот как программист напишет на сайте аналитиков, "Елы, палы,встречаются дурные аналитики, и анализируют не так как надо"...
68. Александр Медведев (anig99) 06.09.11 13:05
Мне вот интересно, а как аналитики анализируют код на языках вроде brainfuck?
69. Ийон Тихий (cool.vlad4) 06.09.11 13:07
(69) Мне интересно как программисты его анализируют :D
70. Александр Медведев (anig99) 06.09.11 13:12
(69) программисты не должны отбирать хлеб аналитиков. Программисты программируют, а аналитики анализируют.
71. beigka (beigka) 06.09.11 22:28
(66)главное разделять оценку работы и человека, не переходить на личности.
в свое время сидела на форумах аналитиков и искала примеры документации любого качества, чтоб примеры были...
читала и смотрела - где бы я исправила и улучшила. знание приемов правильного написания чегото и положительный опыт конечно более важны для самосовершенствования, но анекдотичные примеры, как делать нельзя, это тоже интересно помоему.
72. beigka (beigka) 06.09.11 22:35
(62) то что мне не понравилось, удалили.
нужен ли аналитик (и какие функции он должен выполнять в процессе производства ПО), или нет, должен решать начальник производственного отдела предприятия.
еще раз повторю, статья не про профессию, не про личность талантливейших воплотителей, совершивших единственный промах, каждый из которых я старательно записала и написала короткую статью.
статья про "Не пойдем гулять или да". про ситуации плохого взаимодействия постановщика задачи и программиста. и все, не ищите там того чего нет.
73. Lara.Builova 06.09.11 22:37
(71) Может быть выскажите свое мнение на эту проблему?
74. beigka (beigka) 06.09.11 23:16
(33) про логичность сообщений с баша
xxx: Только наши разработчики могли в программе в мессейджбоксе с вопросом "Не сохранять изменения?" сделать кнопки Да и Нет.
xxx: Да, не сохранять... Нет, не сохранять...
75. Александр Рытов (Арчибальд) 07.09.11 07:52
(74)
Только наши разработчики...
Вполне очевидно, что это были не очень наши разработчики. Ни на каком западноевропейском языке нельзя сказать "Нет, не сохранять". Эта же фраза у них звучала бы "ни на каком можно...", либо "на всяком нельзя".
76. Ийон Тихий (cool.vlad4) 07.09.11 10:16
(75) вот именно, ни в одном западноевропейском, а русский - это восточноевропейский, в славянских языках в отличие от всяких английских, двойное отрицание это запросто...Сам встречал подобную программу...Я лишь помню, что эта сволочь предлагала при изменении документа сохранять и "ДА" и "НЕТ"...Если нажимать да, она ничего не сохраняла, респект разработчику :D
77. Михаил Ражиков (tango) 07.09.11 10:22
2(60) не хотел бы работать с таким аналитиком
79. Сергей (Prepod2003) 07.09.11 12:25
Очень не понравился тон статьи (хотя и есть здравые мысли) – автор относиться к инженерам-программистам, то есть людям одной из самых сложных и интеллектуально емких профессий с явным пренебрежением, высокомерием, надменностью – это не признак ума самого автора конечно. Вообще, гордыня – это в принципе признак глупости и молодости, ибо только глупые люди страдают этой болезнью до такой степени, что выпячивают ее всем напоказ. Скромнее надо быть и более уважительно относится к чужому очень сложному труду.
И присоединяюсь к предыдущему комментарию – тоже не хотел бы работать с таким аналитиком, хотя и сам являюсь аналитиком и программистом.
80. ddis (rebuzx) 07.09.11 13:12
Статья мне не понравилась, но соглашусь с комментами программеров.
Вот примерчик когда больничный налогается на отпуск задаётся такой хитрый вопрос: (Кстати писала дама)

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

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

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

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

Дата создания кода //<<<<<< 2010_04_07 Пупкина
81. Иван (Spartan) 07.09.11 13:19
Просмотрел сейчас другие публикации автора, начиная с самой первой, за которую я когда-то поставил плюс... Вижу, что практически все они написаны в раздраженном тоне с негативным подтекстом, хотя автор и пытается представить его позитивным ("предостерегаю других от ошибок"). Этот же тон прослеживается в комментариях выше. Для первой публикации это было нормально и даже забавно, сейчас - уже напрягает.
82. Роман Романов (romansun) 07.09.11 13:53
(80)

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

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

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

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

Иииии вот тут то на сцену и должна выходить прокладка с именем "Аналитик", понимающий и умеющий донести суть до разных сторон. Ну а если прокладка протекает, менять нужно.
В противном случае появляются подобные статьи на тему "однобокие эсники"
85. Ilya Baykov (Ilyabaykov) 07.09.11 14:04
Не хочется никого обижать, но если таким же языком пишутся ТЗ то не удивительно, что код нечитабельный.

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

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

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

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

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

Так что если сказано описать выполнение каждого условия отдельно, то нужно описать каждое условие отдельно. Чтобы потом не пришлось переписывать все. Где гарантия, что послезавтра не ПДД не дополнят новым сигналом светофора? И этот сигнал будет попадать в когда-то правильно описанные в коде условия...
87. Александр Рытов (Арчибальд) 07.09.11 14:43
(82) Один мой ответ на этот комментарий сгинул в безвестности...
Проблема интерактивного взаимодействия с пользователями - это проблема не программиста. Раз уж есть аналитик, он должен предусмотреть, когда системе понадобится от пользователя информация и какая. А системный архитектор должен позаботиться о том, чтобы в результате диалога система не развалилась - ну, и чтобы диалог был внятным. А программист за тарелку супа исполняет указания аналитика и синтетика от и до (вариант итальянской забастовки), в результате система таки разваливается.
Хороший программист указания, конечно, послушает, но затем проведет свой независимый анализ и синтез и согласится либо не согласится с предыдущими товарищами - если оные товарищи в наличии.
Если же этих посредников нет, программист сам с собой играет в ролевые игры - примерно, как в http://infostart.ru/public/74501/. Вот тогда и только тогда претензии к нему.
88. Михаил Ражиков (tango) 07.09.11 16:09
к тяме последних постов книжка есть "Психбольница в руках пациентов"
89. Aikosyapr (aikosyapr) 07.09.11 16:23
Если возникает желание написать комментарий к коду, следует ещё раз внимательно взглянуть на код: вероятно он требует доработки
ShantinTD; +1 Ответить
90. Алексей Новоселов (a-novoselov) 07.09.11 16:40
(0)
Нужно писать, что ты делаешь в куске кода.



Такие комментарии подойдут?

// Обходим циклом строки тз
Для Каждого СтрокаТЗ Из ТЗ Цикл
//Вызовем процедуру общего модуля
МойОбщийМодуль.АналитическаяФункция5(СтрокаТЗ, ЭтотОбъект);
//Вызовем еще одну процедуру общего модуля
МойОбщийМодуль.УправленческаяФункция8(СтрокаТЗ, Ссылка);
КонецЦикла;

Довольно подробные комментарии "что ты делаешь." :D

Просто хотелось обратить внимание, что код должен быть самокомментируем (из имени функции понятно что она делает, из имени переменной - что она означает). А в комментариях желательно писать не что ты делаешь, а "нахрена ты следующие 1000 строк кода в этой функции наколотил? и зачем ты вообще к ней обращался?"
Lara.Builova; ShantinTD; +2 Ответить 1
91. Тимофей Шантин (ShantinTD) 07.09.11 17:07
aikosyapr, согласен.
Комментировать хороший код - все равно что пояснять свое произведение искусства.
a-novoselov, именно так. Именно об этом и я говорю. Еще комментарий может быть полезен для самого автора на этапе разработки. Например,
...какой-то полезный код...
//здесь добавить мой супер-хитрый алгоритм выбора большего из двух чисел
...какой-то полезный код...
Делать так только для того, чтобы не сбиться с основной мысли, с "полезного кода", и главное!!! - не забыть заменить комментарий на реальный код.
92. beigka (beigka) 07.09.11 17:13
(91) ну я программистов считаю скорее мастерами чем художниками)
93. beigka (beigka) 07.09.11 17:14
(90) найти оптимальное количество комментариев поможет практика.
94. beigka (beigka) 07.09.11 17:21
(79)(77)никто не предлагает) и вообще судить о человеке по качеству его небольшой статьи... несколько недальновидно. хотя и нравиться тут всем я и не собиралась. не нравиться - не читайте.
статья действительно о негативном опыте. о позитивном опыте методики не будут в формате одной страничке текста в виде статьи на бесплатной основе) это по моему более монументальный должен быть труд)
95. Lara.Builova 07.09.11 17:21
(82) Откомментируйте по ссылке из (73), интересно, что скажет художник :idea:
96. beigka (beigka) 07.09.11 17:21
(87) наверно не все вопросы мне интересны, потому не на все отвечаю.
97. Тимофей Шантин (ShantinTD) 07.09.11 17:32
beigka, значит, Вам не попадались программисты-художники. =)
Хотя я считаю, что в программисте должны уживаться инженер, художник и просто толковый человек, способный понять то, чего от него хотят.
Арчибальд, в хорошем программисте живет еще и сам-себе-аналитик.
Spartan; Арчибальд; Lara.Builova; +3 Ответить 1
98. Александр Рытов (Арчибальд) 07.09.11 17:33
(92)
ну я программистов считаю скорее мастерами чем художниками
А международное законодательство о защите авторских прав - ровно наоборот.
ShantinTD; +1 Ответить
99. Александр Рытов (Арчибальд) 07.09.11 17:35
(97) Вот именно. Когда мы жили без аналитиков, у нас программирование было на первых позициях в мире.
100. Сергей (Prepod2003) 07.09.11 17:44
(94)Поймите одну простую вещь, к высокоинтеллектуальному труду надо относится с уважением (впрочем, также как и к любому другому). Для меня очевидно, что у Вас нет этого уважения и может в большей степени по этому вы получаете то, чего ожидаете. Потому что действительно спец с Вами, скорее всего, работать не будет, зачем ему это…? просто изначально у Вас идет негатив – люди это сразу чувствуют. Сейчас клиентов достаточно, что бы связываться с недостойным его уровня отношением и доказывать кому-то что он не верблюд. Да и вопрос оплаты не мало важен, хотите высочайшего качества и гарантий – платите соответственно. Знаете, я вот машину если ремонтирую в фирменном сервисе, то соответственно и спрашиваю - а если уж обратился к дяде Васе или студенту авто слесарного ПТУ в гараж за три копейки, то и не требую выполнения высоких европейских стандартов (описаний, актов выполнения работ, гарантий заоблачных и т.д.) …
Spartan; ShantinTD; +2 Ответить
101. Тимофей Шантин (ShantinTD) 07.09.11 17:49
beigka пишет:

(91) ну я программистов считаю скорее мастерами чем художниками)

В таком раскладе на отношение как к "мастеру" обижаться стоит едва ли, а вот на отношение как к "ремесленнику" лично я бы обиделся.
102. Роман Романов (romansun) 07.09.11 18:17
(84)(87)

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

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

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

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

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

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

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

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

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

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

Короч, в целом на сегодняшний момент и в моей рабочей ситуации могу сказать так - аналитики реально мешают работать, создавая дополнительные проблемы коммуникации и дополнительные проволочки. Возможно (и надеюсь!) в других рабочих коллективах, в других средах как-то лучше.
Ish_2; Spartan; MaxDavid; Арчибальд; cool.vlad4; Prepod2003; +6 Ответить 4
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа