Имя: Пароль:
LIFE
Юмор
OFF: Плохой код как способ защиты своей работы
0 eses
 
23.02.15
17:58
1. Ничего не трогать - работает же 65% (15)
2. Привести в порядок, оптимизировать код 26% (6)
3. Навести легкий марафет, себе же удобней 9% (2)
Всего мнений: 23

Вот ситуация : проект 6-8 месяцев , всяческие перегрузки/доработки, в целом ничего особо серьезного, любой специалист 1С с подобным справится. Однако, время потрачено, результат получен, нормальное желание - начать получать деньги за обслуживание, т.е. за более легкую часть проекта.

Что имею : разрозненный код во внешних обработках, всякие правила обмена в разных частях сервера, сам код весь на костылях, понятный только мне. Вот и думаю - приводить все в порядок или не надо?
1 palpetrovich
 
23.02.15
18:01
(0) ежели оутсорсер?  
зы: хотя, "код понятный только мне" - это временно :)

Ничего не трогать - работает же
2 ShoGUN
 
23.02.15
18:02
(0) Через полгода не вспомнишь, как оно работает.

Привести в порядок, оптимизировать код
3 eses
 
23.02.15
18:03
(1) В принципе, даже не важно, аутсорсер или нет, я и на фикси считаю :

Ничего не трогать - работает же
4 eses
 
23.02.15
18:05
Учитывайте САБЖ, т.е. именно защита своей работы, что тебе не скажут : Ну, Ванька, спасибо. На этом все, у нас по штатке 30 тыщ в месяц и теперь обслуживать будет парнишка 20-летний, он же админ и говорит все умеет!
5 ShoGUN
 
23.02.15
18:08
(4) Для особо недоверчивых есть обфускация и пароли на модули(при наличии у себя нормальных исходников). А гадить себе же - не понимаю.
6 vlandev
 
23.02.15
18:10
Г@внoкoд как средство защиты очень хорош , смотришь на иное тварение и понимаешь , что легче написать с нуля чем разобраться в этом дерьме.
7 uno-group
 
23.02.15
18:10
(0) как понимаю, научится и сразу писать нормально не предлагать. Как то мелочно это все тебе за внедрение заплатили тогда что плачешь? ИМХО или сразу оговариваешь, что делаю за н-время и такую то сумма и потом еще столько то поддерживаю и довожу до ума за столько типа часть оплаты переходит с этапа внедрения перетекает на обслуживание. или внедряешь сразу за нормальную сумму а потом договорились на обслуживание хорошо, нет еще лучше.
8 uno-group
 
23.02.15
18:12
Вот глянет кто-то такой г-код и фиг пригласит на следующее внедрение. Опять же работодатель фиг тебя кому порекомендует. скажет я ему деньги за внедрение  заплатил он дерьма наделал и руки выкручивал за поддержку оного. Сплошные минусы.
9 eses
 
23.02.15
18:13
(7) все очень серьезно и логично, но ведь можно взять и то,что ты говоришь + подстраховаться на долгое сотрудничество :)
10 eses
 
23.02.15
18:14
(8) так стоп, я же написал - все работает, думаешь директорам важен твой чистый код или результат?
11 osa1C
 
23.02.15
18:23
(0) Писать г@внокод когда-то приходилось по незнанию и неопытности. Иногда сам повторял типовые механизмы, не зная что они существуют в типовых решениях, и сильно удивлялся решениям подобных задач, когда читал их на мисте. Хотя скажу, что мои решения часто превосходили типовые, применительно к конкретным задачам, хотя конечно были не оптимальны и с применением типовых механизмов решение задачи упрощалось. Сейчас у меня другая беда. Пытаюсь написать код так, чтобы учесть даже те нюансы, которых нет в тех.задании, но по моему мнению это может пригодиться в дальнейшем. Это сильно увеличивает время разработки. Пытаюсь с этим бороться, но пока с переменным успехом
12 vlandev
 
23.02.15
18:25
(10) Директорам вобще пофиг , они код 1С не отличат от кода на паскале , директорам важно что бы быстро и дешево решилась проблема , а какой там код - им плевать.
13 ShoGUN
 
23.02.15
18:27
(12) До тех пор, пока всё работает - никому не важно :) Я ж говорю - через полгода в собственных костылях можно легко запутаться...
14 eses
 
23.02.15
18:34
(11) ты делаешь за других работу с одной стороны не получая за это денег,но зато ты и я знаем - ты хороший разработчик. Вот и  все, зато Вася купит себе машину
15 eses
 
23.02.15
18:35
(13) ну так, возьмешь и оценишь еще на полгода, я к этому и веду
16 VladZ
 
23.02.15
18:37
(0) Плохой код плох тем, что его потом сложнее поддерживать. Сложнее дорабатывать. Что делать сейчас с этим кодом? Забей пока на него... Как там китайцы говорят: "... придет весна и цветы распустятся сами."
17 ShoGUN
 
23.02.15
18:43
(15) Ну ты в курсе, почему у нас дороги такие плохие? :)
18 5 Элемент
 
23.02.15
18:43
- 87,5 процентов программистов считают, что они бы эту работу сделали лучше
- лишь 2,5 процента из них сделали бы ее лучше на самом деле.
- остальные же просто сделали бы ее «по своему», правда с тем же успехом в плане сроков, качества и функциональности
19 fisher
 
23.02.15
18:46
Странный вопрос. Как опытный разработчик ты либо сразу должен был вести разработку более системно, либо понимать, сколько еще стоит потратить сил и средств, чтобы этот продукт можно было нормально сопровождать. "Сам код весь на костылях, понятный только мне" - через месяц-другой он станет непонятен и тебе тоже.

Навести легкий марафет, себе же удобней
20 fisher
 
23.02.15
18:50
С другой стороны излишний перфекционизм излишков денег не приносит, а время жизни разработки ограничено несколькими годами в лучшем случае. Поэтому проголосовал за второй пункт.
Хотя сам стараюсь писать так, чтобы не было поводов краснеть.
21 SoulPower
 
23.02.15
18:55
(0) Придёт новый спец сопровождать твой код, оставит отзывы. Может отзывы и не заинтересуют никого, а может нанесут урон твоей репутации. Но в любом случае, когда обнаруживаешь грамотную аккуратную работу, то относишься с уважением к автору. А бывает когда напарываешься на кустарщину, думаешь ну что за "чудак на букву м".

Привести в порядок, оптимизировать код
22 ShoGUN
 
23.02.15
18:59
Я как-то напоролся на отчёт, в котором было объявлено пяток  переменных модуля, а дальше - два десятка процедур без параметров, которые эти переменные меняют. Вместо запланированной пары часов на отладку этого гамна потратил два дня(!).
23 Тюря
 
23.02.15
19:00
При начале стараюсь делать красиво, но если заказчик сразу не знает что хочет....

Ничего не трогать - работает же
24 EugeniaK
 
23.02.15
19:07
Либо изначально писать код нормально, либо уже не трогать.
Оптимизацию никто сейчас оплачивать не будет.
С точки зрения зрения пользователя лучше работать не станет. Наоборот можешь что-то поламать случайно.
Если придется что-то менять, то потом можно заодно подумать об улучшениях.
Подход "писать г@внокод, чтобы никто не понял" вообще считаю диким. Не вижу смысла даже обсуждать.

Ничего не трогать - работает же
25 Ник080808
 
23.02.15
19:13
(12) это до первой смены программиста. Заболеешь или уволишься и уедешь покорять нерезиновую, придет на твое место работы товарищ, откроет отчет и вместо того, что бы за пять минут подправить колонку продолбается 8 часов, а на вопрос че так долго - покажет твой код. Оно то вроде тебе не надо - ты уволился, но земля круглая, придется обращаться в фирму за рекомендацией, а тут то тебе и выдадут рекомендацию такую что не отмажешься. И еще подтвердит любой франч за деньги, проведя экспертизу.
26 torgm
 
23.02.15
19:13
(0) Ничего не трогай, придет нормальный спец поднимет больше денег и репутацию свою подтвердит. Оптимизацию клиент нормально оплачивает, когда ему красива разъясняют на какие аспекты работы компании это влияет. Нормальным спецам клиенты нужней, продолжай работать в этом же духе.
27 Ник080808
 
23.02.15
19:13
(26) +100500)
28 uno-group
 
23.02.15
19:20
если с работодателя нужно вытягивать деньги за обслуживание шантажом что в этом коде еще фиг кто разберется то такой работодатель на... не нужен. также как и прог тратящий на это время. направь силы в созидательное русло больше денег заработаешь чем выдавливая лишнию копейку с жмотов.
29 eses
 
23.02.15
19:21
(28) Вот верно подметил направление, я еще раз повторюсь для всех, клиент хитренький и тема ЗАЩИТА своей работы, а не "карма программиста" и его взаимоотношения с последователями
30 eses
 
23.02.15
19:22
(29) ... он скажет Вась, а Вась, спасибо, у меня тут свояк ждет твоих результатов сидеть 3 года и не париться
31 ShoGUN
 
23.02.15
19:23
(29) Всё равно на*бут тебя. Не сегодня, так через год. И защита не поможет.
32 eses
 
23.02.15
19:23
(31) э не, пока все наооборот, земля круглая конечно я знаю, но и много моментов где я проигрывал
33 eses
 
23.02.15
19:25
(24) не чтобы никто не понял, а чтобы не украл
34 eses
 
23.02.15
19:26
(26) и им буду, например, я. Ведь свой код легче доработать, чем чужой, как правило.
35 torgm
 
23.02.15
19:30
(29)  мне неоднократно говорили что работалатель хитренький не платит и прочее прочее прочее. Приходишь. Разговариваешь. Вполне вменяемый клиент. Начинаешь работать. Зарабатываешь в два -три раза больше в месяц чем спецы до этого . Честно вы в них такого хитрого находите. "Если пятый муж бьет по Роже, может дело не в муже а в роже???"
36 eses
 
23.02.15
19:36
(35) То, что надо развиваться в направлении общения с клиентом/работодателем бесспорно. Сам никогда "не попадал", однако, наслышан и предпочитаю подстраховываться тем или иным способом
37 torgm
 
23.02.15
19:38
(36)  я ориентирован работать без страховки. Квалификация, установка партнерских отношений с дирекцией и собственниками, решение задач с точки зрения компании в целом, форсирование пула рекомендаций вот моя страховка...
38 kosts
 
23.02.15
19:46
Никакой обфускации и шифрования, если это не было предусмотрено договором. А лучше этот момент специально обговорить. А то заказчик платит за работу, имеет права на результат. Вот если используешь ранее наработанные модули тут и надо обговаривать.

Рефакторинг делай, если на фикси, или на твоем сопровождении остается. Если дали другие задания, то первое оставь и не трогай.

Ничего не трогать - работает же
39 yavasya
 
23.02.15
19:54
время будет , приведешь в порядок

Ничего не трогать - работает же
40 eses
 
23.02.15
20:06
(38) Отлично сказано, и термин "рефакторинг" взял на вооружение.
41 vde69
 
23.02.15
20:11
1. в любом случае если захотят поменять тебя - поменяют, даже если ты исходники зашифруешь...

2. в случае говнокода больше шансов расстаться "по плохому", что портит карму и рекомендации

3. говнокод ты не сможешь использовать в других своих "поделках"

Привести в порядок, оптимизировать код
42 rsv
 
23.02.15
20:14
(0) Почему вы употребляете термин плохой код ... сколько лет вы в 1С ? Все пишут для зарабатывания.. быстро и сносно ..
43 Cyberhawk
 
23.02.15
20:14
(0) а когда настал момент, когда стали одолевать мысли о хитреньком клиенте и о защите? Еще во время или уже после разработки?
44 eses
 
23.02.15
20:18
(42) в 1С я 10 лет, однако, не считаю себя хорошим специалистом, к сожалению.

Существуют такие ситуации, я думаю всем это знакомо, когда конечная картина кардинально отличается от начального задания. И я даже не о "плохом клиенте, который хотелки генрирует на ходу", а просто о рабочих моментах. Так вот, быстрее сделать костыль, чем переделывать все заново, т.к. есть сроки, договоренность, нацеленность на результат, а не как другие твердят - "карма, рекомендации, стыдно итп"
45 eses
 
23.02.15
20:19
(43) ммм, да я всегда об этом думаю, паранойя!
46 vde69
 
23.02.15
20:29
а я не понимаю почему клиент получив то за что ЗАПЛАТИЛ не может искать более дешевое обслуживание?

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

я знаю одну причину: риск получить геморрой, но это РИСК, и заказчик имеет полное право на него пойти...
47 ShoGUN
 
23.02.15
20:39
(46) Ну наркотой-то проще торговать!
48 eses
 
23.02.15
20:46
(46) если есть четкая договоренность о прекращении сотрудничества тогда-то - тут твоя правда

Но если ты а)фикси б)аутсорсер с договоренностью/гипотетической возможностью сопровождать ?
49 ShoGUN
 
23.02.15
20:50
(48) Один хрен. Это договорные отношения. Если заказчик считает их для себя невыгодными - его право.
50 ShoGUN
 
23.02.15
20:51
А хочешь гарантий - составляй договор и прописывай неустойку. Но ты ж денег срубить хочешь, а значит заказчика не будешь пугать. Просто будешь всякую фигню делать по мелочи.
51 eses
 
23.02.15
20:55
(50) Зачем мне гарантии договором и неустойкой, когда я могу сделать свою работу, не лишиться самых сладких плодов и спокойно взяться за рефакторинг?
52 eses
 
23.02.15
20:55
(50) Не срубить, а не дать кинуть себя, еще раз повторяю
53 ОбычныйЧеловек
 
23.02.15
20:57
(52)  а как тебя могут кинуть?
54 ShoGUN
 
23.02.15
21:06
(52) А что значит "не дать кинуть"? В (46) Всё написано, это не "кинуть".
55 Aswed
 
23.02.15
21:34
Я в подобных случаях всегда даю себе обещание навести порядок.....
Но всегда находятся более важные дела))))

Ничего не трогать - работает же
56 thezos
 
23.02.15
21:40
(0) Не трогать, если написано плохо - проблемы сами всплывут, заказчики сами позвонят. Но так делать не хорошо. Почему клиент должен зависеть от вас?
57 eses
 
23.02.15
21:45
(53) в (4) коротко, "кинуть" громко сказано правда
58 ОбычныйЧеловек
 
23.02.15
21:56
(57) от этого нельзя защититься (просто поверь на слово).
59 dmpl
 
23.02.15
22:02
(29) Лучшая защита - взять предоплату.
60 dmpl
 
23.02.15
22:15
(57) Чтобы не произошло так, как в (4) - надо предложить лучшие условия обслуживания.
61 gae
 
24.02.15
06:47
(0) Я бы такое и не стал оплачивать.
62 Godofsin
 
24.02.15
06:54
Чем плохи пароли на модули?
63 Любопытная
 
24.02.15
06:56
(62) Вот я тебя и поймала! Ты почту смотришь вообще?
64 Godofsin
 
24.02.15
07:03
(63) Привет) Ну да, а чо там? =)
65 Godofsin
 
24.02.15
07:04
(63) Вижу)))
66 Godofsin
 
24.02.15
07:04
(63) отвечу в почте щас
67 ИС-2
 
naïve
24.02.15
07:24
(0) твой код могут отдать на аудит и тогда все всплывает. Захочет ли с тобой кто-то работать потом?
68 Pahomich
 
24.02.15
07:34
(67) А что всплывет то? Если код полностью поддерживает заявленную функциональность программы и требуемую производительность, то что может сказать аудит, что ему буковки не нравятся? А если не поддерживает, то, чтобы гнать автора и аудит не нужен.
69 НубВ1С8
 
24.02.15
08:14
мне стыдно за плохой код. По возможности переписываю - через полгода уже сложно разобраться, что там было, почему так и т.д. Защитить работу можно только одним - хорошим качеством.

Навести легкий марафет, себе же удобней
70 WF72
 
24.02.15
08:22
(69) зависит от клиента. если оплата достойная - оптимизируй. иначе

Ничего не трогать - работает же
71 megabax
 
24.02.15
08:25
Капрокод - это всегда плохо. Сам же через полгода сопровождения на своем коде гемороя отхватишь по самое нехочу.

Привести в порядок, оптимизировать код
72 dmpl
 
24.02.15
08:26
А вообще, расслабьтесь! Apple вон до сих пор goto использует и не парится...

Ничего не трогать - работает же
73 НубВ1С8
 
24.02.15
08:31
(70) я ж пишу - по возможности. Все, к сожалению, не переделать.
74 modestry
 
24.02.15
08:39
(0) Решат заменить замят. Если время оплатят по наведению порядка, наведи, а так какой смысл?

Ничего не трогать - работает же
75 ИС-2
 
naïve
24.02.15
09:14
хотя бы написать нормальные комментарии

Ничего не трогать - работает же
76 Лефмихалыч
 
24.02.15
09:19
(0) собери из своих этих костылей нормальное тиражное решение и его уже продавай. Этим клиентам можно будет продать в последствии, как редакцию 2.0, дополненную и улучшенную
77 nva_15
 
24.02.15
09:20
Провести ревизию всего, что написано, и написать комментарии в отдельный файл. Файл оставить себе. Тогда можно будет вспомнить, что было сделано, если клиент обратится за поддержкой спустя некоторое время.

Ничего не трогать - работает же
78 Jonny_Khomich
 
24.02.15
09:35
работу надо беречь

Ничего не трогать - работает же
79 Spyke
 
24.02.15
09:41
(0) Смотря, что ты имеешь ввиду "плохой код" если как в Плохой код, у кого есть более страшные примеры тогда одназначно переделывать
80 Гёдза
 
24.02.15
10:06
Если ты фикса и делать больше нечего, то стоит заняться рефакторингом, иначе не надо
81 forforumandspam
 
24.02.15
11:46
(17)+100500
82 forforumandspam
 
24.02.15
11:47
(0) Надо быть феерическим ... , чтобы оправдывать свой г-код.
83 John83
 
27.02.15
08:43
писать на английском - желающих поддерживать значительно поубавится
84 forforumandspam
 
27.02.15
09:15
(83) А желающих оторвать уши - увеличится.
85 mTema32
 
27.02.15
10:04
Ничего не трогать - работает же
86 vde69
 
27.02.15
10:09
(83) поиск и замена рулит, часок другой и все на русском...
87 vde69
 
27.02.15
10:14
предлогаю делать так, тогда точно все будут нос воротить...


СуммаДебета = ТЗ.Количество()-1;
ВсегоОтгрузкаШТ = 0;
Для ОстаткиВВалюте = 0 по СуммаДебета Цикл
...
  ИтераторЦикла = Таб[ОстаткиВВалюте].Сумма;
  ВсегоОтгрузкаШТ = ВсегоОтгрузкаШТ + ИтераторЦикла;
  макет.Параметры.Сумма = ИтераторЦикла;
88 Explorer1c
 
27.02.15
10:25
(0) если нормальный заказчик, то надо исправить, если нет, то-

Ничего не трогать - работает же
89 uno-group
 
27.02.15
10:28
Может все дело в том что вы мало денег за разработку берете, разрабатываете за тарелку борщя с мыслей что потом еще полгода-год будете борщ на шару жрать. Разработка стоит в 3-5 раз дороже поддержки, поэтому мне ИМХО разрабатывать гораздо интересней чем протирать штаны на поддержке.
90 Explorer1c
 
27.02.15
10:29
Еще пипец недавно увидел такую тенденцию- супер прогеры( шарящие в яве. 1ске и проч.) не оставляют комментарии, пишут почти без пробелов, поидее все работает суперски. но вот когда сторонний разработчик решает что-нить там исправить по просьбе бухов, то... кроме "бэээ" могз никакой инфы не выдает)))
91 Матвеев Максим
 
27.02.15
10:30
(88) > если нормальный заказчик

как нормального от ненормального отличить?
92 Explorer1c
 
27.02.15
10:31
(91) достаточно просто спросить его- "ты нормальный?"
93 eses
 
27.02.15
10:31
(82) Почему сразу г0вн@код, есть такое понятие "костыли", из-за них код, как я его назвал, становится плохим

Пишешь вот ты что-нибудь, а потом задание или цели чуть сменились. У тебя два варианта : переписать все заново красиво, либо сделать костыль. Лично я - за второй вариант, потому что быстрый
94 eses
 
27.02.15
10:32
(90) вот никогда комментариев не оставлял, мало того - я им еще и не доверяю
95 Матвеев Максим
 
27.02.15
10:35
(5) > Для особо недоверчивых есть обфускация и пароли на модули

не помешает и православная молитва в комментариях, не каждый решиться ругать такой код или воровать его.
96 vhl
 
27.02.15
10:38
Зачем что-то менять? Тебе ведь не заплатят за это. Работать за бесплатно?

Ничего не трогать - работает же
97 vhl
 
27.02.15
10:41
(93) Все правильно делаешь, называется "костыльное программирование": http://h-80.h10.hostworks.com.ru/newspics/govnokod.jpg
98 Матвеев Максим
 
27.02.15
10:43
(96) свинарник в коде это повод снизить сумму к оплате. Если есть бардак в коде, значит есть и бардак в мыслях, что может привести к бардаку в работе программы. Гениальный человек — гениален во всем. Культурный человек - культурен во всем.
99 eses
 
27.02.15
10:43
(97) Не считаю это правильным тем не менее :)
100 vde69
 
27.02.15
10:44
(90) просто ты не видел ограничения по памяти для кода... а оно существует много где...

например в автолиспе довольно часто приходилось убивать форматирование и сливать функцию в одну строку, и менять переменные в названия типа "А132" для сокращения кода...

код разумеется абсолютно не читабелен, но это плата за виртуальную машину исполнения кода...
101 vhl
 
27.02.15
10:45
(98) ты в каком выдуманном мире живешь? Кто тебе будет там делать code review чтобы определить свинарник или нет? Работает и ладно. Все эти "гениальный ла ла ла" просто лозунги оторванные от реальности
102 eses
 
27.02.15
10:45
(98) Угу, особенно когда твоя работа зависит от чистоты мыслей других людей.
103 Андрей_Андреич
 
naïve
27.02.15
10:45
(98) Свинарник в коде в 99% случаях есть следствие свинарника в голове заказчика. Почему программист должен расплачиваться за это?
104 Матвеев Максим
 
27.02.15
10:47
(103)
> Свинарник в коде в 99% случаях есть следствие свинарника в голове заказчика.

не ищи оправданий своей нечистоплотности, не заказчик код пишет. Твоя обязанность формализовать мысли заказчика. Не способен - найми постановщика задач.
105 Матвеев Максим
 
27.02.15
10:48
(102) > (104)
106 Андрей_Андреич
 
naïve
27.02.15
10:48
(104) И кто будет оплачивать этот банкет?
107 eses
 
27.02.15
10:49
(104) Какой-то выдуманный тобою мир, реальность несколько другая. Все верно говоришь, но как правило так не получается
108 Матвеев Максим
 
27.02.15
10:49
(106) банкет и его оплата есть предмет договоренности заказчика и подрядчика.
109 Матвеев Максим
 
27.02.15
10:50
(107)
> Все верно говоришь

Давай зафиксируем это. Я говорю верно и ты сей факт признаешь.
110 vde69
 
27.02.15
10:51
(104) это реальный мир нормальных контор а не ларьков...
111 Матвеев Максим
 
27.02.15
10:53
(110) не мне это объясняй
112 Explorer1c
 
27.02.15
10:54
(111) а ты кто такой? тебя никто не знает!
113 Матвеев Максим
 
27.02.15
10:55
(112) зато я многих тут знаю и не всегда с лучшей стороны
114 Андрей_Андреич
 
naïve
27.02.15
10:56
(113) Характер неуживчивый?
115 de_aztec
 
27.02.15
11:03
Если код еще можно изменить, то вот с архитектурой решения уже толком ничего не сделаешь.
Приходишь в контору с самопиской и сидишь охреневаешь как без регистров в базе всё крутится и как редактирование одной ячейки происходит 15 минут... :(
В итоге всё приходится ломать почти на корню, у пользователей дичайший стресс, но потом всё налаживается.
Я к тому что лучше делайте лучше и дольше, но если срочно-срочно, то без костылей никак.

Привести в порядок, оптимизировать код
116 forforumandspam
 
27.02.15
11:10
Знаю одного программиста, который пишет запросы в цикле. На мои замечания он тоже говорил: "не трожь, работает-же, заказчику пофиг-же" и т.д.
117 de_aztec
 
27.02.15
11:19
(116) Знаю программиста который пишет запросы в цикле, но не считает это неправильным. Потому что у него есть статья на сайте Гилева :) а значит он гуру. В целом тот же автор базы самописки без регистров.
118 forforumandspam
 
27.02.15
11:28
Еще один случай: другой программист добавил реквизит ХранилищеЗначений в шапку документа. В этом реквизите хранились сканы бумажных документов. Сделал работу быстро, деньги получил и отчалил. Перепроведение старых периодов убило напрочь обмены. Вот бы посмотреть в глаза тому гаду....
119 Матвеев Максим
 
27.02.15
11:30
От обсуждения гнкода перешли к байкам о знакомых программистах.
120 dmpl
 
27.02.15
11:35
(91) Нормальный платит нормально.
121 dmpl
 
27.02.15
11:39
(98) Совсем не повод. Тыкаешь носом в договор и спрашиваешь - где там критерии качества кода. Нет - значит требований к качеству кода не было, исходя из этого сумма выставлена такая. Были бы критерии - было бы дороже. А в следующий раз применяешь мультипликатор 3 к стоимости для этого заказчика.
122 Vovan1975
 
27.02.15
11:41
(117) эт ты про сосипа чтоле?
123 dmpl
 
27.02.15
11:42
(116) Все верно. Когда заказчик обратится "что-то медленно работает..." ты одним движением руки рубишь кучу бабла.
124 dmpl
 
27.02.15
11:45
(118) Он надеялся срубить бабла.
125 Матвеев Максим
 
27.02.15
11:46
(121) Про договор я ничего не писал. Правильная контора может в договор включить отсылки на профстандарты программиста и на стандарты кода 1с. Двух ссылок хватит чтоб лишить части денег, а потом иди доказывай что они не правы.
126 eses
 
27.02.15
11:55
Вот как-будто никто не читает тему вообще, причем тут вообще ваши идеалы
127 Андрей_Андреич
 
naïve
27.02.15
11:56
Заказчик доволен. Программист доволен. Почему должен быть доволен еще и Матвеев Максим, который и не платил и не работал?
128 eses
 
27.02.15
11:57
Говорить про то, что писать надо красиво и брать очень мало денег похвально!
129 de_aztec
 
27.02.15
11:57
(122) хз кто это. На форуме этого человека наверное и нету.
130 John83
 
27.02.15
12:02
(84) за (0) будет не меньше
131 John83
 
27.02.15
12:02
(86) названия переменных тоже переводить?
132 dmpl
 
27.02.15
12:08
(125) Вот поэтому рулит предоплата. Сам понимаешь, что если будут дополнительные требования - сумма будет выше.

P.S. А решение может вообще прекратить работать в связи с неоплатой.
133 vde69
 
27.02.15
12:08
(128) встречал одного урода который хранил таблицы движений в строковом реквизите документа в виде "ВыгрузитьОбъектВСтроку()",

Хотя отчеты работали, данные показывались, правда не все и медлено, ну и контроля ссылочной целостности не было, и через год база вырасла и стала колом.... но ведь работало какое-то время....

вы и не представляете сколько оптребовалось времени привести более менее нормальному виду...

а ведь тот человек ушел архитектором 1с на производство... и зп себе пробил не слабое...
134 Матвеев Максим
 
27.02.15
12:15
(132)
> А решение может вообще прекратить работать в связи с неоплатой.

Забавно. Написал г-но вопреки договору, не получил за г-но деньги, обиделся и отключил поделку. Зачем тогда писать г-но?
135 dmpl
 
27.02.15
12:20
(134) В договоре описан конкретный программный продукт. Если изначально в ТЗ не было требований к коду - значит код может быть любым, и требовать уменьшения цены заказчик по надуманным предлогам не может. Если кого-то это не устраивает - это их проблемы. Так что или подписывают акт с нужной суммой, или остаются без ПП. Хотя если этап внедрения идет отдельным договором, то можно на этом этапе отбить уменьшенную сумму в кратном размере.
136 dmpl
 
27.02.15
12:21
+(134) Если ты соглашаешься на уменьшенную сумму - ты показываешь, что тебя и дальше можно нагибать. Смысл в этом?
137 vde69
 
27.02.15
12:28
(135) ты пришел в ресторан, закозал борщ, тебе принесли бурду...

в договоре нет требований по вкусу и запаху, ты обязан заплатить и съесть, а не съешь - тебе на голову выльют и за шкирку выкинут.

нравится?
138 vde69
 
27.02.15
12:29
(137) + или не так, пахнет вкусно, сверху вкусно а на дне скелет крысы лежит...
139 Матвеев Максим
 
27.02.15
12:29
(135)
> Так что или подписывают акт с нужной суммой, или остаются без ПП

сначала ты не гнешься

> Хотя если этап внедрения идет отдельным договором, то можно на этом этапе отбить уменьшенную сумму

потом тебя начинает нагибать

(136)
> Если ты соглашаешься на уменьшенную сумму - ты показываешь, что тебя и дальше можно нагибать.
140 dmpl
 
27.02.15
12:30
(137) Э, нет. На вкус - борщ, по органолептическим показателям - борщ. А то, что там сплошная гидропоника - так это уже дело ресторана. Натюрпродукт ты не заказывал.

(139) Я просто описал 2 варианта действий.
141 dmpl
 
27.02.15
12:31
+(137) И вообще, кто за борщом в Макдональдс ходит?
142 Матвеев Максим
 
27.02.15
12:32
(135) > Если изначально в ТЗ не было требований к коду - значит код может быть любым

это заблуждение. Если дело дойдет до разбирательства, припаять к делу можно и стандарты кода и профстандарты.
Котлету в кабаке могут и на пол на кухне уронить и внутренности заменить, но если клиент будет настойчив, кухню проверят и нагнут, хотя котлета теоретически сьедобна.
143 Матвеев Максим
 
27.02.15
12:34
(140) > Я просто описал 2 варианта действий.

значит ты допускаешь вариант прогиба и не против что тебя будут нагибать далее
144 dmpl
 
27.02.15
12:35
(142) Угу, только посмотрим как ты будешь бороться с обычаями делового оборота, в которых профстандарты необязательны, если это не оговорено отдельно.

(143) Меня - нет. Я без предоплаты не работаю.
145 Explorer1c
 
27.02.15
12:36
Run nigga run (Snoop dogg)
146 vde69
 
27.02.15
12:36
(140) с кодом ровно так-же, есть госты, стандарты, если иного (например "поставляется как есть") не прописано заказчик может тебя засудить...
147 Матвеев Максим
 
27.02.15
12:37
(141) > кто за борщом в Макдональдс ходит?

макдональдсом ты свой уровень определил? Спрос одинаковый, отношение разное
148 dmpl
 
27.02.15
12:37
(146) Принцип as is - стандарт дефакто для программного продукта, так что как раз ГОСТы в договоре должны прописываться отдельно, ибо они носят рекомендательный характер.
149 Матвеев Максим
 
27.02.15
12:39
(144)
> Меня - нет. Я без предоплаты не работаю.

предоплату могут и назад попросить
150 Матвеев Максим
 
27.02.15
12:40
(148)
> Принцип as is - стандарт дефакто для программного продукта

где это написано? Документ дай какой-нибудь
151 Матвеев Максим
 
27.02.15
12:41
(144) > бороться с обычаями делового оборота, в которых профстандарты необязательны

Что за обычаи такие?
152 Torquader
 
27.02.15
12:46
Если работы ведёт Франч и у него есть сертификаты, а также договор с 1С, то за плохой код его сотрудников у Франча могут быть определённые проблемы.
Если же работу ведёт "Вася Пупкин", которому просто заказали "сделать так, чтобы это было здесь", то все претензии к коду не обоснованы, просто заказчик неправильно выбрал исполнителя.
Понятно, что есть некоторые заказчики, которых правильные исполнители обходят стороной, так как если вместо ТЗ картинки и "сотрясание воздуха", то результата всё равно не будет.

Также нужно понимать, что "нечитаемый код" и "плохоотптимизированный код" - это совершенно разные вещи.

Никто не мешает написать в цикле запрос с полным сканированием таблицы, а в комментариях перед этим "чудом" написать, что здесь мы сделали неверно и есть повод оптимизировать это место.
153 dmpl
 
27.02.15
12:47
(147) Аргументы закончились и начались переходы на личности? Типовой 1Сник берет 1000-3000 в час. Эта цена в "ресторанной" аналогии уровень общепита. В ресторане на порядок дороже, т.е. требования "как в ресторане" к 1Снику могут быть только если он берет 10-30 тыс. руб. за час. Думаю, он найдет кого нанять за 3 тыр. в час, чтобы себе потом 27 тыр. забрать.

(149) Могут - через суд. Где должны будут доказать, что обычно такие требования предъявляются.

(150) Статья 721 ГК РФ.
154 Матвеев Максим
 
27.02.15
12:49
(153)
> В ресторане на порядок дороже, т.е. требования "как в ресторане"

Стандарты приготовления котлет одинаковы и в забегаловке у ашота и в пафостном ресторане
155 dmpl
 
27.02.15
12:54
(154) Однако, если ты почитаешь эти стандарты, то увидишь, что конкретных рецептов там нет, только очень общие требования, сводящиеся к тому, чтобы не причинить вреда здоровью.
156 Матвеев Максим
 
27.02.15
12:56
(153)
> Статья 721 ГК РФ.

Есть еще и правоприменительная практика. Там много интересных деталей.
http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=PSP;n=6;frame=37206
157 Матвеев Максим
 
27.02.15
12:57
(155)
> общие требования, сводящиеся к тому, чтобы не причинить вреда здоровью

нанятый эксперт может на 20 листах доказать что вред здоровью таки есть
158 dmpl
 
27.02.15
12:58
(157) А другой эксперт на 40 листах докажет что вреда нет.
159 Explorer1c
 
27.02.15
13:15
А это нормально , когда справочник при записи делает движения в регистре сведений? (не повторяютя есть проверка)
160 dmpl
 
27.02.15
13:24
(159) А почему нет? Типовой справочник ФизическиеЛица так делает.
161 Kvant1C
 
27.02.15
13:26
(159) Ты не поверишь, в УПП значения свойств объектом именно в РС и хранятся, а пишет в этот регистр как раз справочник.
162 Torquader
 
27.02.15
13:27
(159) А в чём, собственно, проблема - в восьмёрке нет периодических реквизитов, и они реализуются с помощью периодического регистра сведений.
Примеры реализации даже в методичке есть, так что говорить, что это ненормально можно только если хочется, чтобы все данные справочника жили в одной таблице.
163 Torquader
 
27.02.15
13:28
Вы ещё вспомните, что goto очень нехорошо в коде смотрится, но в некоторых случаях, переход на точку выхода через goto выглядит куда более читабельно, чем многоуровневые if-ы и прочие чудо сравнения.
164 Explorer1c
 
27.02.15
13:28
(162) ну ок. просто тут прикол один нашел думал докопаться а оказалось все нормально)
165 Torquader
 
27.02.15
13:30
(164) Ну, некоторые и при открытии формы справочника в регистр сведений пишут, так и то есть логичное объяснение для чего это делается.
166 ManyakRus
 
27.02.15
13:32
надо писать запросы по 200-600 строк текста запроса,
я так делаю :)
тогда там никто не разберётся кроме автора :)
получится "защита" своей работы :)
любой новый программист захочет его стереть :)
167 Torquader
 
27.02.15
13:33
Опять же, дело не в инструментах, а в умении ими пользоваться.
Также до сих под открытый вопрос - где хранить дополнительные свойства объектов - в регистре сведений, в табличной части справочника, в подчинённом справочнике или в хранилище значения (куда прекрасно кладётся структура) - любое решение имеет свои преимущества и свои недостатки.
168 dmpl
 
27.02.15
13:34
(163) Ага, особенно в плане закладок АНБ (вспоминаем #gotofail).
169 dmpl
 
27.02.15
13:35
(167) Можно вообще в файлах на диске хранить. Например, сканы документов.
170 Torquader
 
27.02.15
13:36
(166) У меня, обычно, написан код, который собирает код запроса из частей в зависимости от данных, а потом это исполняется и преобразуется к выводу - вот где "чёрт ногу сломит".
171 Explorer1c
 
27.02.15
13:36
А такой код запроса как зацените?

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Запрос3.НоменклатурнаяГруппа,
    Запрос3.База,
    Запрос3.СчетЗатратБУ
ИЗ
    (ВЫБРАТЬ
        Способы.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
        СУММА(Способы.Коэффициент * (Нормы.ПотреблениеВДневныеЧасы * Нормы.ТарифВДневныеЧасы + Нормы.ПотреблениеВВечерниеЧасы * Нормы.ТарифВВечерниеЧасы + Нормы.ПотреблениеВНочныеЧасы * Нормы.ТарифВНочныеЧасы)) КАК База,
        Способы.СчетЗатратБУ КАК СчетЗатратБУ
    ИЗ
        Справочник.ПеречениАктивов.Активы КАК Активы
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет.СрезПоследних(&ДатаДокумента, Организация = &Организация) КАК СпособыОтражения
                ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.СпособОтражения КАК СпособОтражения,
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.СчетЗатратБУ КАК СчетЗатратБУ,
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.Коэффициент КАК Коэффициент
                ИЗ
                    РегистрСведений.КоэффициентыСпособовОтраженияОбщейЗадействованности КАК КоэффициентыСпособовОтраженияОбщейЗадействованности
                ГДЕ
                    КоэффициентыСпособовОтраженияОбщейЗадействованности.Месяц = &Месяц
                    И КоэффициентыСпособовОтраженияОбщейЗадействованности.Коэффициент <> 0) КАК Способы
                ПО СпособыОтражения.СпособОтраженияРасходовПоАмортизации = Способы.СпособОтражения
            ПО Активы.Ссылка.Организация = СпособыОтражения.Организация
                И Активы.Актив = СпособыОтражения.ОсновноеСредство
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РУ_НормыРасходовНаЭлектроэнергиюОС.СрезПоследних(&ДатаДокумента, Организация = &Организация) КАК Нормы
            ПО Активы.Актив = Нормы.ОсновноеСредство
                И Активы.Ссылка.Организация = Нормы.Организация
    ГДЕ
        Активы.Ссылка = &Ссылка
        И Активы.Ссылка.Организация = &Организация
        И Способы.НоменклатурнаяГруппа <> НЕОПРЕДЕЛЕНО
    
    СГРУППИРОВАТЬ ПО
        Способы.НоменклатурнаяГруппа,
        Способы.СчетЗатратБУ
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        Способы.НоменклатурнаяГруппа,
        СУММА(Способы.Коэффициент * (Нормы.ПотреблениеВДневныеЧасы * Нормы.ТарифВДневныеЧасы + Нормы.ПотреблениеВВечерниеЧасы * Нормы.ТарифВВечерниеЧасы + Нормы.ПотреблениеВНочныеЧасы * Нормы.ТарифВНочныеЧасы)),
        Способы.СчетЗатратБУ
    ИЗ
        Справочник.ПеречениАктивов.Активы КАК Активы
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет.СрезПоследних(&ДатаДокумента, Организация = &Организация) КАК СпособыОтражения
                ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпособыОтраженияРасходовПоАмортизации.Способы КАК Способы
                ПО СпособыОтражения.СпособОтраженияРасходовПоАмортизации = Способы.Ссылка
                    И (НЕ Способы.Ссылка.ОбщаяЗадействованность)
            ПО Активы.Ссылка.Организация = СпособыОтражения.Организация
                И Активы.Актив = СпособыОтражения.ОсновноеСредство
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РУ_НормыРасходовНаЭлектроэнергиюОС.СрезПоследних(&ДатаДокумента, Организация = &Организация) КАК Нормы
            ПО Активы.Актив = Нормы.ОсновноеСредство
                И Активы.Ссылка.Организация = Нормы.Организация
    ГДЕ
        Активы.Ссылка = &Ссылка
        И Активы.Ссылка.Организация = &Организация
        И Способы.НоменклатурнаяГруппа <> НЕОПРЕДЕЛЕНО
    
    СГРУППИРОВАТЬ ПО
        Способы.НоменклатурнаяГруппа,
        Способы.СчетЗатратБУ) КАК Запрос3
ГДЕ
    НЕ Запрос3.База = НЕОПРЕДЕЛЕНО
172 Torquader
 
27.02.15
13:39
Даже в типовом ЗУПе есть запросы и посложнее.
173 Torquader
 
27.02.15
13:39
И вообще, ребята, конкурс - "давайте померяемся говн.кодом" - это не есть хорошо.
174 dmpl
 
27.02.15
13:41
(170) В лучших традициях - код с кусочками запроса в разных модулях?
175 dmpl
 
27.02.15
13:46
(171) Активы.Ссылка.Организация - первый кандидат на тормоза при исполнении запроса, я бы отдельным запросом эту таблицу получил, чтобы организация через 1 точку получалась... А так - запрос как запрос.
176 Iron
 
27.02.15
13:56
Оптимизировать, т.к. самому потом сопровождать будет проще.
А если вдруг придется уйти, то, во-первых, по своему опыту могу сказать, что еще неизвестно как сложится судьба, ведь люди их этой конторы могут за тебя поручиться-порекомендовать другим работодателям, поэтому чем лучше о себе оставишь впечатление, тем проще тебе будет по жизни.
Да и с профессиональной точки зрения оптимизировать свои разработки - это только плюс тебе.

Привести в порядок, оптимизировать код
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс