Вход | Регистрация

  1  2
Работа :: Работа

Пример кода которым вы гордитесь...

Пример кода которым вы гордитесь...
Я
   Мистикан
 
05.09.18 - 13:54
Недавно одна компания перед собеседованием попросила прислать кусок кода которым, я цитирую "Вы гордитесь".
Я даже растерялся.
А какие еще забавные ситуации у вас бывали при поиске работы?
 
 
   MSOliver
 
101 - 06.09.18 - 02:32
//Отказ = Истина;
   Бертыш
 
102 - 06.09.18 - 03:56
Клади=Ложь;
СтандартнаяОбработка=Клади;
   JeHer
 
103 - 06.09.18 - 04:29
(102) неправильно, надо так:
Клади=Ложь;
СтандартнаяОбработка=Положи;
   Мистикан
 
104 - 06.09.18 - 10:09
(98) хз. нормальное решение просто зашить в компоненту.
   dmpl
 
105 - 06.09.18 - 11:33
(0) Зачему, нигде не указано, что этот кусок должен быть написан вами.
   Мистикан
 
106 - 07.09.18 - 12:29
(105) ха я тоже об этом подумал, даже хотел стебануться и кинуть пару модулей с решения задачек по спецу =)
   Мистикан
 
107 - 07.09.18 - 12:30
но конторка предлагала 130 на руки + помощь с переездом (2 месяца на корпоративной квартире)
   Мистикан
 
108 - 07.09.18 - 12:30
в незалежную
   _KaA
 
109 - 07.09.18 - 13:24
(0)
Прислал бы пусто текстовый файл, потому что лучший код - то решение задачи типовыми инструментом...
   NSSerg
 
110 - 07.09.18 - 13:31
(109) Зачем тогда что-то присылать? Проще сидеть дома и не работать, ибо человек который пользуется типовыми инструментами называется как угодно, только не программист.
 
 Рекламное место пустует
   NSSerg
 
111 - 07.09.18 - 13:31
А программист - пишет программы. Пишет код.
   _KaA
 
112 - 07.09.18 - 13:36
(110) А почему вы решили, что надо кодить, если можно решить задачу типовым способом? Вы на каждом внедрении пишите свою ЗУП?
   NSSerg
 
113 - 07.09.18 - 13:48
(112) Нет, программист по определению занимается непосредственной разработкой программного обеспечения. Когда он старается решить штатными механизмами - он выполняет функции не программиста. Если при трудоустройстве программистом он высылает пустой файл - то нафик он сдался на должность программиста?
Если можно решить задачу типовым способом - то я переадресую её специально обученным людям. На каждом внедрении я пишу. Я не беру проекты где можно решить задачу штатными механизмами, ибо я программист. Ну и повторюсь - если что-то можно сделать штатно, я задачу переадресую.
   OldCondom
 
114 - 07.09.18 - 13:53
(113) В идеальном мире живете.
   vi0
 
115 - 07.09.18 - 13:54
(12) для 1сника любой гкод на английском будет предметом гордости
   vi0
 
116 - 07.09.18 - 13:55
(0) мне как сказали в более лояльной формулировке "который не стыдно показать"
   vi0
 
117 - 07.09.18 - 13:56
(99) с уменьшением функционала по экспоненте от уменьшения количества строк
   _KaA
 
118 - 07.09.18 - 14:01
(113)
Я вас понял, мы говорим о задачах разного уровня сложности. Я пришел к тому, что умение кодить это не самое важное в 1С. Гораздо полезнее разбираться в приклодной сфере, знать и понимать возможности программ. Т.е. умение понять задачу и правильно ее реализовать, это, ИМХО, для меня важнее правильно кодить...
   OldCondom
 
119 - 07.09.18 - 14:09
(118) а если еще и божить в каком-то направлении, допустим таже БП3, то красота ненаглядная.
   _KaA
 
120 - 07.09.18 - 14:21
(119)

)))))
   Mort
 
121 - 07.09.18 - 14:25
Вот этот кусок мне адово дался:

          float terrainPositionX = terrainChangeData.bounds.xMin;
            float terrainPositionZ = terrainChangeData.bounds.yMin;
            float terrainPositionY = terrainChangeData.position.y;
            float terrainSizeY = terrainChangeData.size.y;



            for (y = AreaYMin; y <= AreaYMax + 1; y++)
                for (x = AreaXMin; x <= AreaXMax + 1; x++)
                {

                    if (mask1[x - QuadXMin, y - QuadYMin] || mask2[x - QuadXMin, y - QuadYMin]) // ячейку нужно обработать
                    {
                        terrainChangeData.TerraformGetCellPos(x, y, out fx, out fy);

                        F = new Vector2(fx, fy);

                        if (!tr1)
                        {
                            if (Common.FindIntersection(C, F, A, D, out Q))
                            {
                                distanceFromAD = (Q - F).magnitude / (B - Q).magnitude;
                            }
                            else
                            {
                                distanceFromAD = 0;
                            }
                        }
                        else
                        {

                            // ax2 + bx + c = 0


                            float a = C.x * B.y - D.x * B.y - C.x * A.y + D.x * A.y - C.y * B.x + D.y * B.x + C.y * A.x - D.y * A.x;

                            float b = C.x * A.y - D.x * A.y + D.x * B.y - F.x * B.y - D.x * A.y + F.x * A.y - F.y * C.x + F.y * D.x - C.y * A.x + D.y * A.x - D.y * B.x + F.y * B.x + D.y * A.x - F.y * A.x + F.x * C.y - F.x * D.y;

                            if (a == 0 && b == 0) continue;

                            float c = F.y * A.x - F.x * A.y - F.y * D.x + D.x * A.y - D.y * A.x + F.x * D.y;


                            if (a != 0)
                            {
                                float d = b * b - 4 * a * c;

                                if (d >= 0)
                                {
                                    distanceFromAD = ((-b + Mathf.Sqrt(d)) / (2 * a));
                                }
                                else
                                {
                                    continue;
                                }
                            }
                            else
                            {
                                if (c != 0)
                                {
                                    distanceFromAD = -c / b;
                                }
                                else
                                {
                                    distanceFromAD = 0;
                                }
                            }

                        }
   NSSerg
 
122 - 07.09.18 - 14:25
(118) Это разная специализация. Зачем приглашать хорошего программиста на использование штатного инструмента?
"Разбираться в прикладной сфере", "знать и понимать возможности программы", "уметь правильно понять и реализовать" ну никак не связано с необходимостью выполнять функции консультанта, консалтера,  эникейщика, админа и т.д. Никто не мешает разбираться в прикладной сфере, и при этом заниматься своим делом. Для программиста это  - непосредственная разработка программного обеспечения. Есть конечно 1Сники широкого профиля. Но если он специализируется не на разработке, а на использовании штатных механизмов - то какой-же он программист? Cертификат программиста - "1С:Специалист", а не "1С:Профессионал".
   Вафель
 
123 - 07.09.18 - 14:35
(122) ну так в 1с и не особо то нужны программисты, а больше внедренцы
   NSSerg
 
124 - 07.09.18 - 14:49
(123) Внедренец внедренцу рознь. Внедрение типовых решений без адаптации и написания вспомогательного кода - как минимум стоит значительно дешевле. Ну и серьезных внедрений без единой написанной строчки кода практически не бывает.
Ну и в (0) Я так понимаю речь идет всё-таки о программировании. Вряд ли РП или консультанта просят прислать код. А если программист, на вакансию программиста, пришлет пустой лист и скажет что я стараюсь не писать - это уже ИМХО неадекват.
   Вафель
 
125 - 07.09.18 - 15:11
(124) никто не говорит, что внедренец не умеет прогать. просто он умеет прогать на уровне мидла - этого более чем достаточно
   Вафель
 
126 - 07.09.18 - 15:11
Хороший внедренец - это 60/40 - РП/прог или даже 70/30
   NSSerg
 
127 - 07.09.18 - 15:40
(125) "умеет прогать на уровне мидла", - более чем достаточно для чего? Чтоб зарабатывать немного денег, можно не уметь писать вообще.
(126) В (109), (112), (118) - описаны навыки ну никак не архитектора или РП. А пользователя, эникейщика, возможно консультанта.
   Casey1984
 
128 - 07.09.18 - 16:20
(0) Меня просили прислать код, сейчас прям дословно скопирую: "такого качества, чтобы мы "ахнули" и сразу захотели с вами работать". Выслал. Молчат. Видать сильно ахнули :-)
   bolobol
 
129 - 07.09.18 - 16:23
(128) Изучают... Заказали специалистов, ждут отправки из Индии...
   Малыш Джон
 
130 - 07.09.18 - 16:43
(128) они наверное вот так хотели:

https://www.youtube.com/watch?v=SChNfpdasq8
   HawkEye
 
131 - 07.09.18 - 16:45
соглашусь с NSSerg, программист пишет код...
   OldCondom
 
132 - 07.09.18 - 16:53
(128) Вот от чего они ахать собрались мне интересно? В адеквате ребята или как? Это 1С! 1С, блин! Типовые объекты, конфигуратор, конечный пользователь - бухгалтер, оператор и менеджер.

Сидит наверное кучка фриков в кабинете после семинаров от крутого коуча и думают над философией фирмы и цвета стен в оупенспейс офис и попутно рассуждает над тем, кто же он такой - самый крутой прогер по 1С, потому как другие в нашу мега успешную world digital шаурма corporatin не нужны. "Он должен писать такой код, чтобы при запуске 1С за окном появлялась радуга, по ней спускался розовый пони с шикарной белой гривой и взмахнув волшебным рогом приводил в идеальный порядок весь учет, вообще не важно какой. Я СКАЗАЛ ВЕСЬ УЧЕТ!".
   q15h
 
133 - 07.09.18 - 17:01
(132) ахахах в голос ))))
 
 
   Casey1984
 
134 - 07.09.18 - 17:46
(132) :-) Пятница не зря прошла)
   q15h
 
135 - 07.09.18 - 17:49
(132) ищут код, гениальный, как колесо, чистый, как роса на можевельнике после грозы, искренний, как объятия любимой бабушки.. )
   Гад
 
136 - 07.09.18 - 18:00
вспомнилось...какое главное событие в моей жизни ? ваше главное событие -впереди
   mszsuz
 
137 - 07.09.18 - 18:41
Горжусь кодом, который написал сегодня. И так - каждый день.
   hawksib
 
138 - 09.09.18 - 06:40
(0) я этим особо не горжусь, просто не понимаю почему в тк такой процедуры нет (есть ведь РазложитьСтрокуВМассив), очень удобно заполнять xml-ки:

Процедура ЗаполнитьСвойстваОбъектаXDTO(ОбъектXDTO, тСоответствие)
    Для Каждого Эл Из тСоответствие Цикл
        ЛевоеИмяПоля = ?(Найти(Эл.Ключ, "/") <> 0, Лев(Эл.Ключ, Найти(Эл.Ключ, "/")-1), Эл.Ключ);
        ПравыеИменаПолей = Прав(Эл.Ключ, СтрДлина(Эл.Ключ) - Найти(Эл.Ключ, "/"));
        Если ЛевоеИмяПоля = ПравыеИменаПолей Тогда
            Если ТипЗнч(ОбъектXDTO[ЛевоеИмяПоля]) = Тип("СписокXDTO") Тогда
                ОбъектXDTO[ЛевоеИмяПоля].Добавить(Эл.Значение);
            Иначе
                ОбъектXDTO[ЛевоеИмяПоля] = ?(ЛевоеИмяПоля = "guid", НРег(Эл.Значение), Эл.Значение);
            КонецЕсли;
        Иначе
            Если ОбъектXDTO[ЛевоеИмяПоля] = Неопределено Тогда
                ОбъектXDTO[ЛевоеИмяПоля] = ФабрикаXD.Создать(ОбъектXDTO.Тип().Свойства.Получить(ЛевоеИмяПоля).Тип.URIПространстваИмен, ОбъектXDTO.Тип().Свойства.Получить(ЛевоеИмяПоля).Тип.Имя);
            КонецЕсли;
            ИменаПолей = Новый Соответствие;
            ИменаПолей.Вставить(ПравыеИменаПолей, Эл.Значение);
            ЗаполнитьСвойстваОбъектаXDTOрек(ОбъектXDTO[ЛевоеИмяПоля], ИменаПолей);
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры


в процедуру передаётся 2 парметра: ОбъектXDTO - объект фабрики, который заполняем и тСоответствие - соответствие, где ключ - путь к объекту через "/", в котором перечислены имена всех объектов, ну например:  "head/body/name", а значение - значение, которое содержит конечный объект (если опираться на пример, то объект name), конечно с объектами типа списокXDTO функция работает плохо, но в целом очень удобная и я постоянной ей пользуюсь, благо объектов в разы больше чем списков...
   hawksib
 
139 - 09.09.18 - 06:41
(138)   не правильно процедуру обозвал, надо ЗаполнитьСвойстваОбъектаXDTOрек
   Мистикан
 
140 - 11.09.18 - 11:22
(139) хех... ты мне напомнил что надо бы глубоко в XDTO залезть с ногами и досконально с ним разобраться. а то пользоваться пользуюсь временами, не особо понимая что делаю =) что хотел вышло и ладно
   OldCondom
 
141 - 11.09.18 - 11:43
(138)Ух печет, помню у заказчика не работал отладчик(долгая история), как же я дико спотыкался об

"Если ТипЗнч(ОбъектXDTO[ЛевоеИмяПоля]) = Тип("СписокXDTO") Тогда"

Ну не знал я, что можно на тип проверить, даже сп облазил, думал метод какой-то есть. В итоге через попытку сделал.
   bolobol
 
142 - 11.09.18 - 11:45
Зачем вообще это ХДТО нужен?...
   _stay true_
 
143 - 11.09.18 - 11:45
Гордиться нечем. Но и нечего стыдиться.
   d4rkmesa
 
144 - 11.09.18 - 12:25
Как то потратил свое рабочее фиксовремя на такую хрень:

Функция РазбитьСловоПоСлогам(Слово)
    
    s = "бвгджзклмнпрстфхцчшщbcdfghjklmnpqrstvwxz";
    g = "аеёиоуыэюяaeiouy";
    x = "йьъ";    
    ПравилаЗамены = Новый СписокЗначений;
    ПравилаЗамены.Добавить("xgg", "x-gg");
    ПравилаЗамены.Добавить("xgs", "x-gs");
    ПравилаЗамены.Добавить("xsg", "x-sg");
    ПравилаЗамены.Добавить("xss", "x-ss");
    ПравилаЗамены.Добавить("gssssg", "gss-ssg");
    ПравилаЗамены.Добавить("gsssg", "gss-sg");
    ПравилаЗамены.Добавить("gsssg", "gs-ssg");
    ПравилаЗамены.Добавить("sgsg", "sg-sg");
    ПравилаЗамены.Добавить("gssg", "gs-sg");
    ПравилаЗамены.Добавить("sggg", "sg-gg");
    ПравилаЗамены.Добавить("sggs", "sg-gs");

    СтрокаЗамены = "";
    Для ин = 1 По СтрДлина(Слово) Цикл
        ТекСимвол = Сред(нрег(Слово), ин, 1);
        Если Найти(s, ТекСимвол) > 0 Тогда
            СтрокаЗамены = СтрокаЗамены + "s";
        ИначеЕсли Найти(g, ТекСимвол) > 0 Тогда
            СтрокаЗамены = СтрокаЗамены + "g";
        ИначеЕсли Найти(x, ТекСимвол) > 0 Тогда
            СтрокаЗамены = СтрокаЗамены + "x";
        //ИначеЕсли Найти("-", ТекСимвол) > 0 Тогда
        //    СтрокаЗамены = СтрокаЗамены + "-";
        Иначе
            СтрокаЗамены = СтрокаЗамены + "t";
        КонецЕсли;            
    КонецЦикла;
    
    Для Каждого Правило Из ПравилаЗамены Цикл
        Пока СтрЗаменить(СтрокаЗамены, Правило.Значение, Правило.Представление) <> СтрокаЗамены Цикл
            СтрокаЗамены = СтрЗаменить(СтрокаЗамены, Правило.Значение, Правило.Представление);
        КонецЦикла;
    КонецЦикла;
    
    МассивСлогов = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивСлов(СтрокаЗамены, "-");
    
    Результат = Новый Массив;
    Указатель = 1;
    Для ин = 0 По МассивСлогов.ВГраница() Цикл
        Результат.Добавить(Сред(Слово, Указатель, СтрДлина(МассивСлогов[ин])));
        Указатель = Указатель + СтрДлина(МассивСлогов[ин]);
    КонецЦикла;
    
    Возврат Результат
КонецФункции
   d4rkmesa
 
145 - 11.09.18 - 12:26
Идея, правда, не моя, но все равно время пришлось потратить на переосмысление и перекладку в процедуру на 1С.
   Лефмихалыч
 
146 - 11.09.18 - 12:58
(144) зачем Найти(), если заранее известно, что там один символ?..
   Fragster
 
147 - 11.09.18 - 13:00
(146) там в обратную сторону поиск
  1  2

Список тем форума
Рекламное место пустует  Рекламное место пустует
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
В секцию Работа можно добавлять сообщения только после регистрации на форуме.
Если вы уже зарегистрированы, вам нужно войти на форум.
Рекламное место пустует