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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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


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

З.Ы. А может просто надо научиться читать код?
2. Алексей Константинов (alexk-is) 6115 02.09.11 22:18 Сейчас в теме
(1) Это как ещё? Там ведь и так уже всё по русски.
3. Александр Медведев (anig99) 2514 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) 964 03.09.11 08:45 Сейчас в теме
Почему то в обычной речи такой логики нет:
Мы НЕ пойдем гулять ИЛИ Да?.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Не поленилась, прочитала комментарии к Вашей предыдущей публикации: http://forum.infostart.ru/forum24/topic28663/
Мое мнение - общий тон не изменился
62. Александр Рытов (Арчибальд) 2656 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) 106 06.09.11 12:12 Сейчас в теме
Ни как не могу успокоится!

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

Альфа-Авто 4.1

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

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


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


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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

В таком раскладе на отношение как к "мастеру" обижаться стоит едва ли, а вот на отношение как к "ремесленнику" лично я бы обиделся.
102. Роман Романов (romansun) 171 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
Оставьте свое сообщение