|
Принимаем на работу нового программиста 1С, просьба прокомментировать его код 🠗 (Волшебник 11.01.2017 09:42) | ☑ | ||
---|---|---|---|---|
0
КурлыкКурлык
11.01.17
✎
03:08
|
Ситуация: мы принимаем на работу нового сотрудника. На словах кодить умеет. Наш главный позвонил на его прежние места работы для получения рекомендаций.
На одном заводе отказались как либо комментировать его компетенцию и попросили e-mail. После на него выслали пример его кода. Ниже код: Г=ПолучитьИмяВременногоФайла();Д=Справочники.ВнешниеОбработки.НайтиПоКоду("000000097").ХранилищеВнешнейОбработки.Получить();Д.Записать(Г);К=ВнешниеОбработки.Создать(Г);в="в производство";ф=К.ПолучитьФорму(,,в);Ф.Заголовок=в;О=ф.Отбор;С=Справочники.Склады;З=Новый СписокЗначений;З.Добавить(С.НайтиПоКоду("00221"));З.Добавить(С.НайтиПоКоду("000000005"));Т=О.СкладОтправитель;Т.ВидСравнения=ВидСравнения.ВСпискеПоИерархии;Т.ИСпользование=Истина;Т.значение=З;З.Очистить();З.Добавить(С.НайтиПоКоду("00093"));З.Добавить(С.НайтиПоКоду("00100"));Т=О.СкладПолучатель;Т.ВидСравнения=ВидСравнения.ВСпискеПоИерархии;Т.ИСпользование=Истина;Т.Значение=З;Т=О.Дата;Т.ВидСравнения=ВидСравнения.ИнтервалВключаяГраницы;Д=ТекущаяДата();Т.ЗначениеС=НачалоГода(Д);Т.ЗначениеПо=КонецГода(Д);Т.Установить();ф.Открыть(); Теперь мы даже и не знаем брать его или нет. Видно что умеет кодить, но его ямб слишком сложен для дальнейшего сопровождения. |
|||
1
Balabass
11.01.17
✎
03:13
|
(0) Что смущает?
|
|||
2
КурлыкКурлык
11.01.17
✎
03:15
|
1. Найти по коду (что есть плохой признак)
2. Слишком короткие названия переменных, непонятно зачем так сжимать код, извращение какое-то. |
|||
3
КурлыкКурлык
11.01.17
✎
03:18
|
3. Еще в коде нет переноса строки
|
|||
4
Balabass
11.01.17
✎
03:21
|
(2) 1. Найти по наименованию - плохой тон, по коду как раз нормально все.
2. Название переменных - дело сугубо личное, если в вашей компании нет стандартов написания кода утвержденных. 3. Код написанный в 1 строку работает быстрее нежели код разбитый на строки. Пример кода, приведенный в примере потребляет меньше памяти, и неизвестно в каких условиях он работал. Быть может в условиях жестких ограничений по аппаратной части. Вывод: Вы - учите матчасть, а Кандидат знает больше Вас. |
|||
5
КурлыкКурлык
11.01.17
✎
03:27
|
(4) То есть по вашему мнению - существуют аппаратная часть - которая не повзолит с достаточной скоростью открыть форму списка документов с отборами, и в целях оптимизации был написан гоМнокод - абсолютно нечитабельный ...
|
|||
6
Andreyyy
11.01.17
✎
03:35
|
(5) А зачем тема ? Вы же заранее определились.
|
|||
7
Jump
11.01.17
✎
03:35
|
(5) Да, к сожалению аппаратная часть это всегда проблема.
А язык 1с это очень тяжеловесная конструкция. Код нормальный. Читается нормально. Если не соответствует вашим стандартам - ну так вы должны сначала свои стандарты огласить. За длинные названия переменных я бы расстреливал без разговоров. Хотя некоторым нравиться. |
|||
8
КурлыкКурлык
11.01.17
✎
03:37
|
(6) Я ждал поддержки, думал сейчас код осудят и посоветуют не брать человека, а в итоге ... Вдруг мой начальник прочитает тему и меня уволит на основании того что "Кандидат знает больше Вас."(6)
|
|||
9
Sserj
11.01.17
✎
03:38
|
(5) Что-то мне намекает что в (0) приведен код после обфускации. Что неужели нельзя было на собеседовании просто попросить написать кусочек кода хотя бы просто на листочке. Это кстати гораздо больше дает понимания кандидата, когда кусочек кода пишут от руки без различных автозавершений и подсказок.
|
|||
10
ВРедная
11.01.17
✎
03:42
|
(4)
> 3. Код написанный в 1 строку работает быстрее нежели код разбитый на строки. Это такой ночной бред? Или новое слово в оптимизации? Или тут должна быть табличка "Сарказм"? |
|||
11
ВРедная
11.01.17
✎
03:42
|
(0) Мне бы с таким коллегой работать не хотелось. Т.к. поддерживать потом эту нечитаемую конструкцию сложнее, чем нормально структурированный код с осмысленными именами переменных.
|
|||
12
КурлыкКурлык
11.01.17
✎
03:44
|
(10) Спасибо за поддержку
(11) Спасибо за поддержку |
|||
13
Jump
11.01.17
✎
03:45
|
(11) А откуда вы знаете что он так предпочитает писать?
Может он предпочитает структурировать код, просто требования к коду на прежней работе предписывают оформлять его так? |
|||
14
НовыйСотрудникНа Фабр
11.01.17
✎
03:53
|
Код мой, это отбор во внешней форме списка документов. Ограничение строки в 150 символов (я сам не знаю почему). Была необходимость добавить отбор по дате и вместить все в 150 символов.
|
|||
15
guevara74
11.01.17
✎
03:54
|
Я бы не взял.
Типичный какакод распальцованного начинающего программиста |
|||
16
НовыйСотрудникНа Фабр
11.01.17
✎
03:54
|
Поиск по коду мне и самому не нравится, но возможность XMLЗначение вписать туда я не могу. Да и отбор по складам уже был до меня.
|
|||
17
КурлыкКурлык
11.01.17
✎
03:57
|
(15) кстати по поводу "распальцованного" - насторожило то что у него на звонке телефона - играет группа Лесоповал.
|
|||
18
Jump
11.01.17
✎
03:58
|
Главное требование к коду одно - чтобы работал!
А все остальное уже зависит от ситуации и может сильно отличаться в разных случаях. Кому то наплевать на поддержку, давай код который будет быстро работать. Кому то наплевать на скорость работы - главное чтобы код был понятен даже идиоту. |
|||
19
Jump
11.01.17
✎
03:58
|
(17) Если на звонке телефона стоит что-то отличное от обычных гудков это уже клиника.
|
|||
20
ВРедная
11.01.17
✎
04:00
|
(16) Еще можно было использовать английский язык. Там многие команды короче русских аналогов.
|
|||
21
Djelf
11.01.17
✎
04:01
|
(0) Код работать то будет, но не факт что всегда.
В таких костылях НайтиПоКоду или аналоги поиска надо выносить в отдельною процедуру. (14) Выпрыгнул как черт из табакерки - я аж испугался! Что особенно интересно, так это то что оба оппонента зарегистрированы сегодня. Самому с собой подискутировать это наверное прикольно ;) |
|||
22
Balabass
11.01.17
✎
04:02
|
(10) Английские синонимы отрабатывают быстрее. ;)
|
|||
23
КурлыкКурлык
11.01.17
✎
04:02
|
(21) Да это видимо тролль какой-то
|
|||
24
Digger
11.01.17
✎
04:04
|
(0) Дайте свое задание ему написать код.
|
|||
25
КурлыкКурлык
11.01.17
✎
04:04
|
Тролль зарегистрировался под ником "НовыйСотрудникНаФабр", вряд ли тот сотрудник мог так быстро узнать себя в этой теме.
|
|||
26
КурлыкКурлык
11.01.17
✎
04:05
|
(24) Видимо так и сделаем.
|
|||
27
НовыйСотрудникНа Фабр
11.01.17
✎
04:06
|
Финальный код выглядел так:
Г=ПолучитьИмяВременногоФайла();Д=Справочники.ВнешниеОбработки.НайтиПоКоду("000000097").ХранилищеВнешнейОбработки.Получить();Д.Записать(Г);К=ВнешниеОбработки.Создать(Г);в="в производство";ф=К.ПолучитьФорму(,,в);Ф.Заголовок=в;О=ф.Отбор;С=Справочники.Склады;З=Новый СписокЗначений;З.Добавить(С.НайтиПоКоду("00221"));З.Добавить(С.НайтиПоКоду("000000005"));Т=О.СкладОтправитель;Т.ВидСравнения=ВидСравнения.ВСпискеПоИерархии;Т.Использование=True;Т.значение=З;Р=Новый СписокЗначений;Р.Добавить(С.НайтиПоКоду("00093"));Р.Добавить(С.НайтиПоКоду("00100"));Т=О.СкладПолучатель;Т.ВидСравнения=ВидСравнения.ВСпискеПоИерархии;Т.ИСпользование=True;Т.Значение=Р;Т=О.Дата;Т.ВидСравнения=ВидСравнения.ИнтервалВключаяГраницы;Д=ТекущаяДата();Т.ЗначениеС=НачалоГода(Д);Т.ЗначениеПо=КонецГода(Д);Т.Установить();ф.Открыть() |
|||
28
НовыйСотрудникНа Фабр
11.01.17
✎
04:07
|
Телефон без звонка, вибрация стоит.
|
|||
29
Jump
11.01.17
✎
04:15
|
(23) Да вы очень похожи на тролля.
|
|||
30
rphosts
11.01.17
✎
04:27
|
(10)не-не-не, реально быстрее... т.е.
и1=0; Пока и1<10000000 Цикл и1=и1+3; и1=и1-2; КонецЦикла; отработает раз в 20 медленнее чем и1=0; Пока и1<10000000 Цикл и1=и1+3; и1=и1-2; КонецЦикла; можете сами посмотреть замер производительности. Причина в том, что при переходе к новой строке платформа проверяет - не случилось ли событий на которые нужно немедленно отреагировать тормознув выполнение кода. |
|||
31
Bober
11.01.17
✎
04:38
|
(30) да сколько можно повторять это, уже на инфостарте давно разоблачили это. Ну не бывает в рабочих система таких простых циклов, на которых заметна разница в производительности и не работают продакшены с включенным отладчиком.
|
|||
32
КурлыкКурлык
11.01.17
✎
04:38
|
(30) вот это откровение
|
|||
33
Balabass
11.01.17
✎
04:40
|
(31) Про продакшн никто не говорит.
|
|||
34
Bober
11.01.17
✎
04:44
|
(0) из базовых это конечно поиск по наименованию, получение значений ссылочных объектов через точку, оформление кода (в будущем будет только усложнять поддержку), запуск внеш обработок возможен с версии 8.2 без записи во временный файл, который потом конечно же забывают удалить. Но основная претензия была бы в том, что в типовой уже есть такие механизмы и нужно вызывать их.
|
|||
35
Bober
11.01.17
✎
04:48
|
(33) так и вижу как все программирование циклов сводится к увеличению значения на единицу.
|
|||
36
runoff_runoff
11.01.17
✎
04:49
|
кто ясно мыслит, тот ясно излагает..
значит.. не стоит брать.. |
|||
37
runoff_runoff
11.01.17
✎
04:50
|
или запастись галоперидолом.. или попкорном..
|
|||
38
Bober
11.01.17
✎
04:51
|
(36)(37) это точно, будет постоянный цирк
|
|||
39
assasu
11.01.17
✎
05:39
|
(0)какая задача стояла известно?
какая поставка задачи - такой и код. |
|||
40
zvial
11.01.17
✎
05:43
|
Сотрудник не из (1)? )))
|
|||
41
VladZ
11.01.17
✎
06:09
|
(0) Лажовый код.
|
|||
42
zsergey
11.01.17
✎
06:11
|
(0) плохой, не красивый код
видно, что начинающий. |
|||
43
МешочекЗнаний
11.01.17
✎
06:16
|
Вы серьёзно это обсуждаете? (0) (14) толстый тролль
|
|||
44
Андрей_Андреич
naïve
11.01.17
✎
06:21
|
Скорее всего, претендент на должность после общения поставил себе задачу проиграть этот конкурс. Тоже не хотел бы работать в конторе, выставляющей чужой код на осмеяние.
|
|||
45
Pahomich
11.01.17
✎
06:34
|
Естественно, всегда лучше выбрать программиста, который пишет красивый, легко читаемый код... Пусть он даже работать не будет! Зато конкурентом не будет...А если он пишет коряво, но работающий, хрен ошибку найдешь, чтобы перед начальством разоблачить!
|
|||
46
VladZ
11.01.17
✎
06:37
|
(14) "Была необходимость добавить отбор по дате и вместить все в 150 символов."
Если бы мне дали такое задание - я бы сделал нормальный код (без учета последнего условия). При сдаче работы написал "ограничение кода в 150 символов приведет к нечитаемости. Как следствие - к сложности дальнейшего сопровождения. Сделать, конечно, можно. Но не хотелось бы себе карму портить". В итоге бы и задачу сделал, и карма бы не пострадала. |
|||
47
Pahomich
11.01.17
✎
06:38
|
(45) + А самый главный вопрос...А приведенный код полностью решил поставленную перед программистом задачу с точки зрения пользователей?
|
|||
48
Pahomich
11.01.17
✎
06:40
|
(46) Хорошая у тебя карма, не страдает, даже если пользователи не получили желаемого...
|
|||
49
VladZ
11.01.17
✎
06:42
|
(48) У меня пользователи всегда довольны.
|
|||
50
Pahomich
11.01.17
✎
06:45
|
(49) Но тут были поставлены конкретные условия - 150 символов. Клиент всегда прав...даже если он не прав
|
|||
51
фобка
11.01.17
✎
06:47
|
(2) (3) все верно смущает - это г-код. Вопрос в зарплате и в требованиях к программисту. Ну и можно же спросить кандидата лично, попросить привести пример когда, потом задать вопрос в всвязи с чем подобные автррские решения применяются и возможно ли от этого как-то отойти будет при работе в вашей компании
|
|||
52
VladZ
11.01.17
✎
06:50
|
(50) "конкретные условия - 150 символов." - условие не имеет смысла. Я бы понял, если задача стояла на ассемблере написать. И количество памяти было бы ограничено. А для 1С это ограничение не имеет никакого смысла. Точнее так: это ограничение может иметь только рекомендательный характер.
|
|||
53
Pahomich
11.01.17
✎
06:53
|
(52) Но раз поставлено, значит какой то смысл был. У нас для дискуссии явно недостаточно информации.
|
|||
54
VladZ
11.01.17
✎
06:54
|
+52 Заказчик в данном случае не понимает, о чем говорит. Разработчику нужно было этот момент обсудить на этапе постановки ТЗ.
А завтра придет заказчик и попросит воткнуть 1С в бортовую систему космического корабля. Тоже нужно будет делать? |
|||
55
Pahomich
11.01.17
✎
06:55
|
(54) Если оплата соответствующая, то почему нет? Будем делать!
|
|||
56
Pahomich
11.01.17
✎
06:57
|
(55) Главное договор хорошо составить!
|
|||
57
Pahomich
11.01.17
✎
07:02
|
(52) Имеет смысл, не имеет...Но поставленную задачу ты же не выполнил. Просто отказался ее выполнять, правда обосновав отказ! Но заказчик может получить свои хотелки, найдя менее щепетильного программиста...И будет доволен!
|
|||
58
lock19
11.01.17
✎
07:02
|
(0) "На одном заводе отказались как либо комментировать его компетенцию и попросили e-mail. После на него выслали пример его кода."
У вас нет специалистов провести собеседование? |
|||
59
lock19
11.01.17
✎
07:05
|
(47) Самый главный вопрос чей на самом деле это код.
|
|||
60
Pahomich
11.01.17
✎
07:06
|
Да его сократили, чтобы СМС-кой переслать...
|
|||
61
GreyK
11.01.17
✎
07:15
|
(0) Автор явно на инфостарте азы хлебал.
|
|||
62
VladZ
11.01.17
✎
07:22
|
(60) Кстати, вариант. А на принимающей стороне как? Руками внесли?
|
|||
63
Альбатрос
11.01.17
✎
07:25
|
Прикольная тема )))))
|
|||
64
Одинесю
11.01.17
✎
07:29
|
(0) Гений1С?
|
|||
65
Неверный Параметр И
11.01.17
✎
07:29
|
(0),(14) А что случилось с вашим коллегой FigNikPredumaesh ?
|
|||
66
birkoFFFF
11.01.17
✎
07:32
|
(57) Туда ему и дорога.
ИМХО если ставят такие задачи, то надо бежать оттуда и не оглядываться. |
|||
67
xXeNoNx
11.01.17
✎
07:41
|
(0) где-то я такое видел,соискателя не Лехой зовут?
|
|||
68
Андрей_Андреич
naïve
11.01.17
✎
07:42
|
(66) Ага - ставят задачу написать онокод а потом всем говорят - смотри какой онокод написали.
|
|||
69
Jump
11.01.17
✎
07:49
|
(66) Зачем? Нормальная задача.
(52) Почему условие в 150символов не имеет смысла? |
|||
70
Альбатрос
11.01.17
✎
07:50
|
(68) =)
|
|||
71
Злопчинский
11.01.17
✎
08:02
|
Мне код не нравится.
По одной простой причине. Мне с быстрого взгляда непонятно его целевое назначение. А это не только проблема дальнейшей поддержки этого кода но и явная проблема с исполнителем этого кода. Код писался быстро, неаккуратно, прог не задумывается о дальнейшей жизни кода. Представляю какой ужас будет если этот прог будет ваять не код, а форму. Возможно что прог - выкормыш стшников иже с ними, а это значит что не работал плотно на прикладных задачах бизнеса. Как-то так я себе представляю. Код может быть мамнокодом, но он должен быть понятен |
|||
72
1dvd
11.01.17
✎
08:05
|
Некто недоброжелатель прислал некий код приписанный соискателю. Типа, а тестовое задание он не делал что ли?
|
|||
73
rphosts
11.01.17
✎
08:08
|
(31) Сделай вывод текущего времени до и после цикла в обоих случаях. - Даже отладчика не нужно
|
|||
74
Лефмихалыч
11.01.17
✎
08:09
|
(0) смотря что за программист вам нужен. Если недорогой падаван, которому надо ставить четкие задачи и потом проверять, то берите. Если вам нужен самостоятельный профессионал, то - нет.
Написать код, который будет понятен компьютеру, может кто угодно, для этого не надо ни чего уметь, кроме как писать и читать. Профессионализм программиста заключается в том, что он пишет код, понятный и компьютеру, и человеку. А в топике - говно, а не код. |
|||
75
Неверный Параметр И
11.01.17
✎
08:13
|
Предлагаю теорию заговора.
1) Вводятся новые правила - преследование за критику 1С 2) Начинаются вбросы с обсуждением качества кода для вызова этой самой критики. N) ... N+1) Профит? |
|||
76
СлевинК
11.01.17
✎
08:14
|
По зарплате сколько Вы ему предлагаете?
|
|||
77
ТупойЖадный
11.01.17
✎
08:24
|
(0) Косячище. Переменные использованы не в алфавитном порядке.
|
|||
78
Лохматые Уши
11.01.17
✎
08:25
|
(0) Если приходится использовать НайтиПоКоду("000000097"), то писать надо так:
НайтиПоКоду("000000097"); //Такое вот наименование Чтобы легче было разбираться в дальнейшем. Кто его знает что там под этим кодом. |
|||
79
ShAV
11.01.17
✎
08:26
|
(0) Возможно он так привык. Можно принять с испытательным сроком и разъяснить требования к нему и к результатам и качеству его работы.
ЗЫ Бывают варианты пострашнее и тупее. ИМХО чувак либо прикалывается, либо так привык. Это все поправимо. Главное чтобы шарил в темах. |
|||
80
DrZombi
гуру
11.01.17
✎
08:26
|
(0) Спрашивать код у завода и надеяться, что дадут именно его код?
Да вы шутите? Вы не думали, что вас могли обмануть? :) Вы бы лучше дали ему написать какой либо отчет и посмотрели его код. А так, вы просто омерзительны. А вам вообще нужен программист? :) |
|||
81
DrZombi
гуру
11.01.17
✎
08:27
|
(78) Согласен, комментарий лучше писать, а то через месяц уже не понять, что за элемент был :)
|
|||
82
ТупойЖадный
11.01.17
✎
08:27
|
(2) >> 1. Найти по коду (что есть плохой признак)
Был бы плохим, его бы не было в 1С. >> 2. Слишком короткие названия переменных, непонятно зачем так сжимать код, извращение какое-то. Чувак перелез в 1С с ЯП низкого уровня, он так привык, все норм. |
|||
83
megabax
11.01.17
✎
08:28
|
(0) Я бы не принял. Судя о отрывку и реакции бывшего работодателя - он пишет быдлокод, которым бывший работодатель крайне недоволен. Вы тоже будете им недовольны.
|
|||
84
ТупойЖадный
11.01.17
✎
08:29
|
(3) >> 3. Еще в коде нет переноса строки
Действительно, косяк :))) |
|||
85
ТупойЖадный
11.01.17
✎
08:31
|
(8) Выложи здесь свой код, сейчас похвалим.
|
|||
86
ТупойЖадный
11.01.17
✎
08:33
|
(10) Учите матчасть. Не зря люди циклы в одну строку пишут.
|
|||
87
ТупойЖадный
11.01.17
✎
08:35
|
(17) Хоть один ровный пацан будет в фирме. Все вам завидовать будут, берите.
|
|||
88
КурлыкКурлык
11.01.17
✎
08:36
|
Коллеги, спасибо за комментарии. Большинство из вас таки бы не взяли этого ****кодера на работу.
Сейчас главному скину ссылку на эту тему и он уже решение примет. |
|||
89
Jump
11.01.17
✎
08:37
|
(74) Вон оно как.
Значит эти товарищи которые пишут на ассемблере все поголовно любители. Ни одного профессионала. |
|||
90
PCcomCat
11.01.17
✎
08:39
|
Почитала - прикололо. Т.е. код можно оптимизировать, тупо собрав в одну строку?
Насчет переменных - жестковато, конечно, тяжело другим разбирать этот код. Хотя бы буковок чуток побольше... Периодически почитаешь, так многим руки бы оторвали за сокращения переменных. Я вот не могу себе отказать, например, в СтрокаТЗ (СтрокаТаблицыЗначений) и СтрокаТЧ (СтрокаТабличнойЧасти) |
|||
91
megabax
11.01.17
✎
08:40
|
(90) "СтрокаТЗ " - это еще по божеский
|
|||
92
PCcomCat
11.01.17
✎
08:41
|
(91) Но всё же - г*овнокод?!
|
|||
93
Лохматые Уши
11.01.17
✎
08:41
|
(89) Язык 1С - это не низкоуровневый язык.
И оформлять код нужно примерно так, как в типовых конфигурациях. Стандарты же в каждом языке есть, как без них. |
|||
94
megabax
11.01.17
✎
08:47
|
(92) Сама по себе СтрокаТЗ не делает код быдлокодом. Тут надо код в целом смотреть. Если он читаемый - то все ок.
|
|||
95
PCcomCat
11.01.17
✎
08:51
|
(88) На самом деле многое может зависеть от условий работы и принятых норм. К примеру: если будут загонять по времени из серии "мне по-фигу как ты это сделаешь, но чтобы к 10:00 это было", то почему бы и не по-фигу, как это сделано. Работает, код правильный, оформление не по стандартам 1С.... тут уж по ситуации.
В общем, если сотрудник откажется писать по стандартам ("мне и так удобно"), тогда нет смысла брать. |
|||
96
Быдло замкадное
11.01.17
✎
08:52
|
о, мой код с прошлой работы
|
|||
97
DrZombi
гуру
11.01.17
✎
08:53
|
(2) Ой не надо. Есть такая ситуация, как специфика ведения учета в программе. Не он виновен, он лишь продолжил традицию :)
Как обычно, такой код сводится либо к появлению предопределенных элементов, либо появление некого справочника / регистра, где бы вводились подобные параметры :) |
|||
98
Дзенн
11.01.17
✎
08:55
|
В принципе, если у Вас в фирме платят за объём кода (за количество строк) - берите!
|
|||
99
DrZombi
гуру
11.01.17
✎
08:55
|
(83) Работодателю не код надо смотреть, а результат работы кода :)
Тут недавно посмотрел про оптимизацию запросов по Составные типы http://catalog.mista.ru/public/184361/ Так там писать запрос нужно так, что любой мало образованный подумает, что писал было кодер :) |
|||
100
megabax
11.01.17
✎
08:56
|
(95) В такой ситуации адекватный программист должен сказать, что "вы ставите не реальные сроки" и установить свой срок. Либо потребовать чтобы начальник поручил установить срок независимому компетентному эксперту, если он не доверят мнению программиста.
|
|||
101
Провинциальный 1сник
11.01.17
✎
08:56
|
(4) "Код написанный в 1 строку работает быстрее нежели код разбитый на строки. "
Нет. Он быстрее при замере производительности в отладчике, и только) |
|||
102
DrZombi
гуру
11.01.17
✎
08:58
|
(101) т.е. вам отладчик уже не показатель? :DDDD
|
|||
103
PCcomCat
11.01.17
✎
08:59
|
(100) Тогда уж поменять работу! А то мне - нормальному программисту - не дали времени красиво оформить код!
|
|||
104
DrZombi
гуру
11.01.17
✎
08:59
|
(95) Нет проблем, по стандарту, так стандарту. Мы только срок кодинга увеличим в двое, оки :)
|
|||
105
Провинциальный 1сник
11.01.17
✎
09:00
|
(102) В данном случае. Отладчику нужно время, чтобы анализировать каждую строку кода (статистика замера ведется по строкам, а не по операторам). Это время ошибочно понимается как повышенные затраты на выполнение кода из многих строк по сравнению с одной из нескольких операторов.
|
|||
106
Jokero
11.01.17
✎
09:01
|
Имхо, и программист и компания достойны друг друга)))
Дай бог не пересекаться с такими |
|||
107
DrZombi
гуру
11.01.17
✎
09:02
|
(105) А вы я смотрю знатный извращенец. Замеряете работу в нано-секундах :)
Я вот думал, что замер времени всегда делать необходимо на рабочих объемах данных с учетом транзакций и других коллизий :) |
|||
108
PCcomCat
11.01.17
✎
09:03
|
(104) Я о том же. ;)))
|
|||
109
megabax
11.01.17
✎
09:05
|
(103) Если регулярно требуют уложиться неадекватные навязанные соки - да, это поводо менять работу. о не повод писать быдлокод, ибо это только усугубляет положение, потому что для внесение изменений в такой код требуется больше времени, да еще и рассадник глюков рождается.
|
|||
110
Lama12
11.01.17
✎
09:06
|
(0) Мы не знаем какие требования к качеству кода были на заводе? Какие требования к управлению информацией? Если у него стояла задача - писать так что б работало и так что б потом было сложно поддерживать, то код вполне себе хорош. Поиск по коду или наименованию плохой стиль, но опять же, если Справочник закрыт от редактирования, почему бы т нет?
ИМХО. Поговорите правила написания кода сразу. Если человек адекватный то подстроится. За 3 месяца это выяснить можно. |
|||
111
Fish
модератор
11.01.17
✎
09:07
|
Ветка - развод. Есть большое подозрение, что КурлыкКурлык, НовыйСотрудникНаФабр и Дзенн - это один человек.
|
|||
112
КурлыкКурлык
11.01.17
✎
09:08
|
(110) Программист должен нести ответственность за свой код - несмотря на любые сложные условия работы.
|
|||
113
PCcomCat
11.01.17
✎
09:08
|
Зато интрига! ;)))
|
|||
114
PCcomCat
11.01.17
✎
09:09
|
(112) Мне почему-то казалось, что он должен нести ответственность за результат работы кода. Оказалось, что казалось...
|
|||
115
КурлыкКурлык
11.01.17
✎
09:09
|
Еще недавно другой коллега совершил каминг аут - теперь мы думаем - кем его заменить /:
|
|||
116
Курцвейл
11.01.17
✎
09:13
|
(112) Он признался что пробовал писать на ООП? :)
ЗЫ Есть 1С-нику дать задачу на ООП он никогда не напишет класс RecordSet и прочие для работы с БД |
|||
117
megabax
11.01.17
✎
09:14
|
(110) Судя о отрывку кода - либо никаких, либо программер на них забил. Со вторым случае все ясно, я первом случае адекватный программист стал бы придерживаться хоть мало мальсики, но стандартов 1с и элеметарной культуры кода.
|
|||
118
Fedor-1971
11.01.17
✎
09:15
|
(107) В (105) сказано о том-же, замерять время тестовой игрушки со счётчиком, записанной в одну строку и в несколько без смысла, даже на больших количествах итераций. Более того, инструмент "замер производительности" предназначен для получения именно оценки времени выполнения кода на существующих объёмах данных (код приемлемый для БД из 100 записей на 10000 по времени выполнения может повести себя непредсказуемо) и может быть использован для принятия первичного решения об оптимизации
(116) напишет, только первый раз медленно, как и любой другой программист |
|||
119
Cool_Profi
11.01.17
✎
09:15
|
(116)
class MyRecordSet : public CRecordSet { public: MyRecordSet() : CRecordSet() {}; ~MyRecordSet(); } |
|||
120
Fedor-1971
11.01.17
✎
09:16
|
118+ справедливо и в обратную сторону
|
|||
121
Fedor-1971
11.01.17
✎
09:18
|
(119) похоже на С# или это Java?
|
|||
122
Cool_Profi
11.01.17
✎
09:18
|
(121) Я пытался изобразить с++, насколько я его помню
|
|||
123
novichok79
11.01.17
✎
09:19
|
(0) УГ, и вот почему:
найтипокоду - леща бы отвешивал за такое без разговоров и вот почему: однажды один франч на большом лесозаготовительном предприятии моей области написал обработочку, которая вся была заполонена командой найтипокоду. потом была сделана свертка и найтипокоду перестал работать, вместе с обработкой. итог - если есть какое то постоянно использующееся значение, то надо его либо в константу, либо в регистр сведений. код без переносов? этот прог такой важный, что не может нажать enter? надо думать о других людях, кто будет поддерживать ЭТО. любителям коротких переменных - отдельная сковородка с кипящим маслом в аду. почему я должен догадываться чем отличается а от а1? у него там автозаполнение сломалось что-ли? в итоге - простой код превращается в абракадабру, которую следующий программист (если он не такой же поехавший) должен будет приводить к УДОБОЧИТАЕМОМУ виду и тратить свое время на пустое занятие. |
|||
124
VladZ
11.01.17
✎
09:20
|
(111) IP-адрес один и тот же?
|
|||
125
DrZombi
гуру
11.01.17
✎
09:20
|
(112) А работодатель обязан платить все налоги и выплачивать все в белую, а не в конверте... Оплачивать больничные. Давать отпуск на 28 дней, а не на 14 :)
|
|||
126
Jump
11.01.17
✎
09:22
|
(123) Но до свертки то она работала? В чем тогда проблема?
Можно написать более универсально. Но это займет больше времени, и будет стоить дороже. А готов ли за это заплатить заказчик - надо спросить у заказчика. |
|||
127
DrZombi
гуру
11.01.17
✎
09:22
|
(115) Человек вам раскрылся, а вы его уже увольнять :DDDD
|
|||
128
Лохматые Уши
11.01.17
✎
09:23
|
(123) После свертки изменились коды? Ого, мощная видать свертка прошла.
Менять коды можно запретить. |
|||
129
Курцвейл
11.01.17
✎
09:23
|
(121) Это явно не джава.
Дальнейшее действие, что именно наш класс должен вернуть таблицузначений (или хотя бы массив) public class Record { private int id; private Date datePost; private String textPost; public Record(int id, Date datePost, String textPost) { this.id = id; this.datePost = datePost; this.textPost = textPost; } Override public String toString() { DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); return Integer.toString(this.id) +" "+ df.format(this.datePost)+" "+this.textPost; } } |
|||
130
Курцвейл
11.01.17
✎
09:25
|
Насчет НайтиПоКоду.
Данный механизм надо лечить за счет ПланаВидовХарактеристик "Константы" или хотя бы справочника такого. |
|||
131
Lama12
11.01.17
✎
09:26
|
(112) Он и несет. Пришел начальник, сказал - писать так, что б сложно было поддерживать. Вот и результат.
|
|||
132
LeReve
11.01.17
✎
09:27
|
(123) Очень интересно. А расскажи-ка, как быть если конфа на поддержке и снимать её нельзя. Какие такие регистры и константы использовать? Перед тем как делать свертку надо думать головой о последствиях и все заранее предотворотить. И не будет никаких проблем. Нет ничего плохого в НайтиПоКоду(), если использовать по уму.
|
|||
133
Jump
11.01.17
✎
09:27
|
(131) Ну не обязательно так прямо сказал.
Может сказать так - чтоб до завтра написал, пофиг как но сроки горят. И рассусоливать тут для красоты кода и удобства поддержки некогда, ибо срыв сроков, и вон с работы, поганой метлой за косяки. |
|||
134
DrZombi
гуру
11.01.17
✎
09:28
|
(126) И правда, дилемма. Либо код, либо быстро :)
(130) И какая разница, где искать код? |
|||
135
Jump
11.01.17
✎
09:29
|
Еще раз повторю - есть только одно обязательное требование к коду.
Код должен работать и выполнять поставленную задачу. Если это так, значит код хороший. Дополнительные требования возможны, и зачастую есть. Но они индивидуальны для ситуации и заказчика. |
|||
136
DrZombi
гуру
11.01.17
✎
09:30
|
(123) Тут говорит о том, что свертку проводил быдло кодер. Без анализа вообще кодинга и специфики конфигурации :)
|
|||
137
Злопчинский
11.01.17
✎
09:31
|
(132) НайтиПоКоду("0043") - это отвратительно
НайтиПоКоду("0043"); //наш склад, с которым работает филиал в Мухосранске - это более-менее |
|||
138
PCcomCat
11.01.17
✎
09:31
|
(123) Почему-то свято верилось, что свертка - это для уменьшения количества документов со всеми вытекающими, но никак не уменьшение количества элементов справочников.
|
|||
139
DrZombi
гуру
11.01.17
✎
09:31
|
+(135) Аминь. Но жадный работодатель думает, что код должен содержать в себе картинки и желательно смешные, что бы смотреть код было удобнее :)
|
|||
140
Jokero
11.01.17
✎
09:33
|
(135) "Код должен работать и выполнять поставленную задачу"
При все уважении, но вы ошибаетесь. Надо всегда смотреть чуть дальше чем текущая ситуация. Хороший программист от новичка этим и отличается. Проблема франчей, например, как раз в том, что они пишут код, по принципу - быстрее сделать, а после меня хоть потоп. |
|||
141
LeReve
11.01.17
✎
09:34
|
(135) Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте». Джон Ф. Вудс
|
|||
142
Lama12
11.01.17
✎
09:35
|
(133) Тоже вариант.
|
|||
143
Fedor-1971
11.01.17
✎
09:35
|
(123) Существует и обратное мнение "руки оторвать за счётчики вида СчитаемСтрокиТоваров", разумная длина переменной - наше всё.
Нервный какой - если в (0) весь код внутри процедуры, то не критично, всё и так перед глазами, а вот если это часть процедуры на 2-3 экрана, тогда ой. (130) И чем это лучше, ты всё равно не знаешь "Кто есть Кто". Альтернатива в 137 (140) не полностью, если стоит задача "держать клиента на крючке" то вполне себе метод "в моём коде Чёрт ногу сломит, так что - я ваша на веки" |
|||
144
PCcomCat
11.01.17
✎
09:35
|
(139) Вот если бы там был комментарий, например: "погода не летная, в трамвае отдавили ногу, носки разные, бл.., одел... Потому написал так:" - тогда бы все поняли и простили.
Вывод: коллеги, пишите комментарии - так занимательно читать! ;0) |
|||
145
Fedor-1971
11.01.17
✎
09:39
|
(144) то же по уму, не надо а=а+1; комментировать на 5 строк почему именно так, а не иначе. Бо будешь вникать в комментарии вместо кода
|
|||
146
Лохматые Уши
11.01.17
✎
09:40
|
А еще свою фамилию нужно писать и дату (в комментариях к своим допискам).
|
|||
147
Jokero
11.01.17
✎
09:59
|
(144) 1С простой язык, читается как детектив, чаще всего там вообще ничего комментировать не надо, и так все перед глазами.
В 1С грамотно решили, делать комментарий перед функциями и процедурами. |
|||
148
aka AMIGO
11.01.17
✎
10:00
|
(137) Друже, у нас 5 филиалов-фирм, в Справочнике фирм запрещено менять коды. Справочник содержит ок.150 фирм. Как к этим 5 обращаться, если они в разных группах, а справочник огромный?
И обращение к ним во многих местах. Как вариант - Счета по фирмам и дефицит Товаров по ним, с указанием, сколько заказано, сколько товара в пути, сколько на складах этих фирм.. Справочник Склады - отдельный, без связи с фирмами. Использую "НайтиПоКоду()", поскольку другой способ затратный, к примеру новый справочник связки "Фирмы-Склады" утяжелит и без того чугунную базу. И не трудно было догадаться, что кому-нибудь, да захочется поменять коды в Справочниках. Форточку для замены кодов оставил для себя, для остальных - только чтение. ЗЫ. Если долговременной памяти на короткие переменные у читающего хватает только на одну строчку, а на второй он забывает, о чем шла речь - надо гнать проверяющего, а не прогера. ЗЫЫ - вот комменты надо заставить писать, однозначно. |
|||
149
DrZombi
гуру
11.01.17
✎
10:02
|
(145) Судя по наблюдениям, особо в комментарии начинают читать только когда хотят избавится от человека. Ища повод :)
Так же комментарии для кодеров особо не важны, т.е. на них много внимания не заостряют. Радостно, если вашу функцию где либо вставили :) ...Печально, когда вашу функцию использую с вашим же комментарием... ;) |
|||
150
Alexandr_U1982
11.01.17
✎
10:02
|
А никто не обратил внимание на то, почему при требовании в "150 символов" приведенный код занимает 796 символов?
|
|||
151
DrZombi
гуру
11.01.17
✎
10:03
|
+(149) >>>Печально, когда вашу функцию использую
Использую в своем коде и при этом возникает ошибка, как правило сразу ищут комментарии, и как говорится разобрались, наказали кого попало :) |
|||
152
DrZombi
гуру
11.01.17
✎
10:04
|
(150) Даже не стал вникать. И так видно, что код липовый. :)
|
|||
153
Курцвейл
11.01.17
✎
10:06
|
В рамках консолидации холдинга и приведения к единому виду каких-либо справочников НайтиПоКоду() выйдет очень сильно боком.
Использование Константы самое разумное решение. |
|||
154
Fedor-1971
11.01.17
✎
10:08
|
(146) + номер телефона и, очень желательно, домашний адрес
(148) конторе надо предоставить стандарт: код оформлять так, комментарии писать так и так. Предъявить его соискателю и спросить "Справишься", а потом предъявлять претензии, чт оде ко не соответствует. (150) скорее всего код не вмещается на экран большого начальника (типа там маленький нет бук и читать плохо - отсюда требование: строки делать не более 150 символов) (153) в рамках консолидации холдинга ищи по полному коду, а гроздья констант, в которых сам запутаешься сомнительное решение |
|||
155
aka AMIGO
11.01.17
✎
10:11
|
(153) Мда.. "КонстантЫ"..
Стало-быть, мне надо было 5 констант для фирм, 10 констант для Складов на этих фирмах? Итого 15 новых констант.. Интересный способ.. |
|||
156
aka AMIGO
11.01.17
✎
10:13
|
(155) + мало 15-ти-то.. Мне нужно еще Константы для связи Фирмы и пары складов с ними.. Интересно, кто-нть предложит способ завалить константами базу, чтобы решить задачу логистов из (148)?
|
|||
157
Jump
11.01.17
✎
10:14
|
(140) Я думаю ошибаетесь как раз вы.
Работодатель, заказчик ставит задачу, и ее надо выполнить. Иногда полезно посмотреть дальше, и сделать получше. Но это иногда, если есть такая возможность. Если вы пригласили специалиста, и дали задачу написать код, четко обозначили задачу - он должен написать. Если он видит что код по ТЗ способен принести проблемы в будущем - ну неплохо предупредить об этом заказчика. Но написать надо именно по ТЗ. |
|||
158
Курцвейл
11.01.17
✎
10:14
|
(154) (155) Если проявить должное усилие можно изучить механизм ЗначениеСвойствОбъектов
На ИС есть описание использования аналогичного механизма для констант Вместо громоздей используете иерархический вид, типа Справоники --Номенклатура ----КакаяТоВажнаяПозиция (Код"ВажнаяПозиция", тип значения Номенклатура) |
|||
159
Jump
11.01.17
✎
10:17
|
(141) Мне вообще нет дела до того кто будет сопровождать код.
До этого может быть дело заказчику, тогда он предъявляет особые требования к коду. |
|||
160
aka AMIGO
11.01.17
✎
10:25
|
(158) У меня 7.7. Можно, конечно, поуродовать справочники, и решить задачу без поиска по коду. Например, запоминать склады в СЗ - переменной в спр.Фирм. Была такая идея. Есть кому запретить непонятные оному изменения. Потому и сделано, что сделано: запрет изменения кодов.
|
|||
161
DrZombi
гуру
11.01.17
✎
10:27
|
(158) А вы вкурсе, что ваше свойство значения работает из ряда вон медленней, нежели иметь 100 простых реквизитов? :)
По месту на диске это не затратнее, чем свойство ;) |
|||
162
Fedor-1971
11.01.17
✎
10:28
|
(158) а где константы и как сей механизм применим к ним?
(157) универсального решения этой задачи нет (выполнения неких действий именно для некоторых записей справочника, причём для разных записей могут выполняться разные действия). Прямой способ НайтиПоКоду - и делаем, что нужно (относительно универсальный). Остальные решения только в рамках конкретных условий. |
|||
163
DrZombi
гуру
11.01.17
✎
10:29
|
+(158) По поводу констант. Их лучше не использовать, часто. Транзакции возникают. Даже в 8.ххх 1С с константами перемудрило :)
|
|||
164
aka AMIGO
11.01.17
✎
10:41
|
Ну, дела.. г-код, однозначно..
http://i.paste.pics/1dd7f4f4595ecdd9e514e1f3aaede399.png И ведь, зараза такая, работает-же! :) http://i.paste.pics/41ba3e778c44fa7ca06578da1faed4e9.png |
|||
165
пипец
11.01.17
✎
10:48
|
вроде не пятница )))
ЗЫ вы б еще код после закирпичевателя привели и спросили )))) |
|||
166
aka AMIGO
11.01.17
✎
10:54
|
Ветка утоплена, глаза не мозолит.
|
|||
167
Курцвейл
11.01.17
✎
11:25
|
(166) Есть тн Веблюжая нотация.
тзСоответствия (тз - тип значений ТаблицаЗначений, Соответствия - краткое описание что там внутри) |
|||
168
Vladal
11.01.17
✎
20:53
|
(167) Польская нотация
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |