Альтернативные стандарты 1С разработки

На 1С программистов "Желтый клуб" рекомендует учиться в нетологии: go.redav.online/f2c968061f7bb...
По промокоду yellowclub скидка 10%.
Пара слов о Дмитрие Решитко:
- Долгое время работает в Канаде. Внедряет в Канаде 1С.
- Автор проектов с открытым исходным кодом Тестер и c5 (типовое решение для хозяйственного учета с возможностью адаптации под другие страны).
- Разработчик со стажем больше 20 лет. Приверженец экстремального программирования
- Пишет на C++ и других языках
На стриме Дмитрий рефакторит код типовой Бухгалтерии предприятия.
НАВИГАЦИЯ
00:00 - Вступление
09:00 - Технические неполадки
13:30 - Убирать комментарии
18:55 - Не пропускать строки
20:22 - Не выравнивать присваивание
23:00 - Объявлять переменные рядом с местом использования
23:50 - Не надо писать длинные процедуры
24:20 - Перед рефакторингом подготовить тесты
26:25 - Локальные переменные писать с маленькой буквы
28:00 - Убирать тип данных из имени переменной
29:00 - Ключевые слова с маленькой буквы
30:10 - Выразительность и консистентность кода уменьшает количество ошибок
34:40 - Экспортные функции с большой буквы
36:00 - Литералы переносить в отдельные методы
37:20 - Пробел после имени метода это безобидно
40:05 - Сервер, ВызовСервера, ПовИсп в именах общих модулей
41:10 - Укорачивать условия
45:34 - О бесполезности комментариев
46:40 - Не стоит ждать 15 лет озарения
48:45 - Выделять части кода в отдельные методы
50:57 - Технические неполадки
52:57 - Продолжаем
55:00 - Убирать “Не” в условиях
56:20 - Выносить код в отдельные методы
57:42 - Почему удобно локальные переменные писать с маленькой буквы
01:02:25 - Длинные условия переносить в методы
01:07:00 - Не присваивать одно и тоже значение в цикле
01:13:50 - Рефакторинг условий
01:17:30 - Про “Не” в условиях
01:19:15 - Простые вещи размещать сверху
01:19:28 - Какие комментарии допустимы
01:24:20 - Про отступы
01:24:36 - Итог рефакторинга
01:28:00 - Рефакторинг запросов
01:39:35 - Имена промежуточных переменных
01:41:00 - Демонстрация английского 1С кода
01:46:17 - Декларативное описание поведения форм
01:57:44 - Стоит ли писать так код
02:00:30 - Что почитать
02:06:28 - Отношение к 1С
02:12:40 - Почему запросы лучше писать руками
02:14:00 - Про конфигурацию “Тестер”
02:21:30 - Меняться стоит
ДОП. МАТЕРИАЛЫ:
Отрефакторинный модуль: vk.cc/ccnPun
Тестер: github.com/grumagargler/tester/
Contabilizare 5: github.com/Contabilizare/c5
#1сСтандарты #1c #Рефакторинг
Реклама. Информация о рекламодателе по ссылкам в описании.
==========
Информационные площадки "Жёлтого клуба":
Телеграмм канал: t.me/yellowclub_official
Телеграм чат: t.me/yellowclub_vrn
Группа ВКонтакте: vk: 1c_36
Подписывайся на канала Желтого клуба, чтобы не пропустить интересных гостей
/ @yellow_club

Пікірлер: 112

  • @yellow_club
    @yellow_club Жыл бұрын

    Рефакторю код под игру. Пересмотрел стрим с Дмитрием. Спасибо огромное! Советы Дмитрия помогают улучшать чужой нечитабельный код.

  • @xrollup
    @xrollup Жыл бұрын

    Вызывает уважение активность ведущего Жёлтого Клуба. Суметь затащить столько интересного народа на канал и интересно их отбеседовать, тут нужен энтузиазм и приверженность. Моё почтение.

  • @yellow_club

    @yellow_club

    Жыл бұрын

    Отсобеседовать 😂интересная мысль

  • @vladyan01
    @vladyan01 Жыл бұрын

    Я все таки считаю, что нужно придерживать стандартов от фирмы 1С. Потому что, большинство задач в 1С связаны с типовыми конфигурациями, а они все написано используя стандарты фирмы 1С, так легче читать код и делать доработки адаптационные.

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w2 жыл бұрын

    "Пропустить" вместо "МассивНепроверямыхРеквизитов"? А почему тогда не "проп", "пр" или вообще "п"? ,Что надо "пропустить"? Куда надо "пропустить"? Согласен, что писать, что это "массив" может быть лишнее, опять таки 1С не подскажет, что это массив, а если это перестанет быть массивом, тогда можно также переименовать переменную везде, как изменили её имя на "пропустить". К тому же это имя вполне можно использовать во всех таких обработчиках, и если где-то в середине процедуры ты встретишь "непроверяемыеРеквизиты" вместо "пропустить", то быстрее сообразишь, что там происходит.

  • @bollevar
    @bollevar2 жыл бұрын

    Какое-то противоречие: надо читать любой код, но перепишу его так, как я привык

  • @mendicator4319
    @mendicator43192 жыл бұрын

    Зачем писать "пропустить", это инвестиция в 10 символов, их нужно писать...а если переменная встречается еще во многих местах...мрак. лучше создавать односимвольные переменные, например "а"

  • @werwolfwaffen3657

    @werwolfwaffen3657

    2 жыл бұрын

    Вы ни панимаити это рембфакторенг. Он ускоряебт разработке:)))

  • @triera2000
    @triera20002 жыл бұрын

    Очень полезное видео. Благодарность ведущему и гостю.

  • @user-vo7eh4wq2q
    @user-vo7eh4wq2q2 жыл бұрын

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

  • @yellow_club

    @yellow_club

    2 жыл бұрын

    Кровь из глаз шла?))

  • @user-vo7eh4wq2q

    @user-vo7eh4wq2q

    2 жыл бұрын

    @@yellow_club Плакал так сильно, что до конца досмотреть не смог.

  • @werwolfwaffen3657
    @werwolfwaffen36572 жыл бұрын

    Когнитивная способность читать код...ну.ну...когда верстка кода всрата,то и воспринимать код сложно. Все едрить их ввв, ТТ, сс и прочие Инд, вспр() это бездумная дурнота.

  • @MrKreker83
    @MrKreker832 жыл бұрын

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

  • @AlexanderM75

    @AlexanderM75

    2 жыл бұрын

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

  • @Ndochp

    @Ndochp

    2 жыл бұрын

    Меня в свое время поразил тестер с функциями в режиме предприятия. То есть он умудрился запихнуть процедуры и функции в "Выполнить". Под капотом конечно "Перейти", но это круто.

  • @MrBlagin
    @MrBlagin2 жыл бұрын

    А мне понравилось, было интересно, спасибо.

  • @user-xq3pv6og1b
    @user-xq3pv6og1b2 жыл бұрын

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

  • @LosashExote
    @LosashExote2 жыл бұрын

    Видео еще не смотрел (не уверен что буду), помотал, полистал. Автору канала: ты молодец, что показываешь различные мнения, интересных людей. Молодец, что двигаешь "молодежную" тематику. Наверное, в голове 1С один из важнейших минусов - старперы во всех ключевых позициях, старперский подход. Комментаторам: порадовали, повеселили. Уже из комментариев понятно, что видео чисто на полистать по самым трешовым моментам. Пока что для себя нашел один: "про отступы" на 1:24:24. Сталкиваюсь и на своей компании с такими спорами. Во первых - ставить после каждой строчки кода пустую строку - это дичь. Во вторых - не ставить нигде, как автор видео - это тяжело читаемо. Для меня интуитивно понятно, что некие "серии" строчек - это относится к одному "кванту" логики, я между такими "квантами" ставлю отступы, внутри них - нет. В общем, делаю как типовые делают, это долго словами объяснять. Вообще, если кратко сказать, и по теме видео и по докладчику... Я согласен с комментарием ниже "человек, далекий от практики 1С". Подавляющее большинство из нас занимаются доработкой/интеграций систем в ТИПОВЫХ конфигурациях. Годами мы учим (те кто хочет что-то учить) стандарты самой 1С, и они, на самом деле, на 99% логичны. Мне нравится расширенный вариант от группы разработчиков BSL LS. Все, остальное это уже "хотелки" каждого отдельного из нас. И правильно еще пишут ниже - если каждый из нас начнет что-то выдумывать такое, это уже не стандарты... Еще хочу завершить вот чем. Как и у многих программистов, я не стесняюсь особо этого, у меня начальная стадия шизофрении и психоза. НИКОГДА мы не перестанем плеваться от кода другого программиста, я последнее время уже не верю в то, что разные люди, даже пусть пытаясь писать по одному стандарту, будут рады коду друг-друга. Одобрение вызывает только свой код. Чужое ВСЕГДА хочется лопатить. Докладчику желаю не потеряться, сильно не заглубиться в это "творчество", а то можно остаться одному как в "Горе от ума".

  • @LosashExote

    @LosashExote

    2 жыл бұрын

    Много в видео уделено тому, что можно назвать снижению когнитивной и цикломатической сложности кода. Это верно. Это то, чего не хватает самой головной 1С в типовых. Я пытаюсь так писать. Однако, дробить и причесывать все тяжело и затратно по времени. Портянку писать легко, поддерживать потом тяжело. Квантованные модули на тысячи "элементарных" процедур писать тяжело и долго. Но правильно... Все так не будут писать никогда - сроки на франчайзи не позволяют так.

  • @mirkotej
    @mirkotej2 жыл бұрын

    Спасибо! Крутой гость!

  • @user-cb5nl2fq8u
    @user-cb5nl2fq8u2 жыл бұрын

    человек далекий от практики 1с

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w2 жыл бұрын

    Лишние пустые строки? ну где-то они лишние, а где-то позволяют отделить какие-то участки алгоритма друг от друга. Т.е. шаг1, шаг2, шаг3, строка, шаг4, шаг5, позволяет понять, что первые три действия что-то произвели, а потом другие два действия делают ещё что-то, но не много другое. По сути это даёт возможность не писать Процедура1, Процедура2, где процедуры состоят из шаг1, 2, 3 и шаг4, 5 соответсвенно.

  • @vladyan01
    @vladyan01 Жыл бұрын

    Считается ли такое написание кода хорошим? Вместо строк типа, например видов оплаты для интеграции, "CASH", "CARD" и т.д. Использовать экпортную функции которая будет возвращать структуру с этими видами оплат. Или все таки лучше просто строкой сразу писать? С точки зрения производительности использование таких структур является нормой, их может быть много разных, это по сути замена Перечисления, но допустим там нельзя использовать Перечисления, т.к. все пишется во внешней обработке

  • @user-vl7bh7gd3l
    @user-vl7bh7gd3l Жыл бұрын

    Первые 20 минут - сплошная вкусовщина: отступы, пробелы, пишем с маленькой буквы... Короче тащит свои привычки из с++

  • @user-ox9zt3bd5p
    @user-ox9zt3bd5p9 ай бұрын

    Крутой стрим! Респект!

  • @yellow_club

    @yellow_club

    9 ай бұрын

    Согласен

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w2 жыл бұрын

    Писать запросы в ручную? Я вот пользуюсь наполовину конструктором, наполовину ручным написанием. Набрать полей для выбора проще мышкой, чем писать (и делать опечатки). А вот условия соединения таблиц (если оно не вида А.реквизит = Б.реквизит) иногда проще написать вручную. А тем более если третья таблица присоединяется по полям двух других.

  • @user-nk3oi3ru7e
    @user-nk3oi3ru7e2 жыл бұрын

    Написание запросов руками - это круто.. Когда не сталкиваешься с запросами из ЗУПа ) Сотни страниц листинга запроса просто невозможно уложить в голове, как бы ни старался. И самое, что интересное - не нужно. Это понимаешь, когда нормально начинаешь пользоваться инструментами разработчика. Остальную вкусовщину даже комментировать не буду - каждый.. кхм.. "кодит" как он хочет. Переучивать других, чтобы что? Поменять большие буквы на маленькие?

  • @AlexandrPuzakov

    @AlexandrPuzakov

    2 жыл бұрын

    ЗУП - отдельная разновидность решений как НЕ надо делать

  • @user-nk3oi3ru7e

    @user-nk3oi3ru7e

    2 жыл бұрын

    @@AlexandrPuzakov вот не так все однозначно, хочу сказать.. из всех 1Сных блоков, которые у нас развернуты - именно ЗУП требует наименьшей поддержки и влезания внутрь, как по мне.. То бишь, как бы оно там внутри не было сложно сделано, но сделано как раз-таки на совесть и с умом.

  • @AlexandrPuzakov

    @AlexandrPuzakov

    2 жыл бұрын

    @@user-nk3oi3ru7e это спасибо самой специфике расчета зарплаты. Она регламентирована, и мало желающих изобретать своё. Но всё-таки в крупных предприятиях ЗУП хорошенько допиливают. И вот тут-то начинается самое интересное. У нас ЗУП допиливает целый отдел 1сников. Трудозатраты на него чрезвычайно неадекватны решаемым задачам

  • @user-vm4sg3lq7l
    @user-vm4sg3lq7l2 жыл бұрын

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

  • @NemanEnt
    @NemanEnt2 жыл бұрын

    Не смотря на мои два категорически несогласных коммента и множество того, о чем я умолчал, стрим полезен. Это и другой взгляд, и собственно переваривание порождает свои новы мысли. Так, что гуд. Из полезного, я всё это уже знал, но не для одного меня сей стрим ))

  • @yellow_club

    @yellow_club

    2 жыл бұрын

    Это хорошо

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w2 жыл бұрын

    Про лишнее условие в объединении запросов? если соединяются две таблицы, то может и всё равно, но если к этому соединению будет ещё таблица присоединяться, то как я понимаю, для СУБД проще при первом соединении получить таблицу из 100 строк, к которой он добавить ещё сколько-то, чем к таблице из 10000 строк присоединять таблицу, а потом отфильтровывать в ней лишние записи.

  • @user-ll2in3ci3w
    @user-ll2in3ci3w4 ай бұрын

    Мне нравится его мировоззрение, я понимаю его о чём он говорит. Как с ним связаться?

  • @RPGamesOnly
    @RPGamesOnly5 ай бұрын

    В общем, я понял из этого видео что спикер которого вы позвали квалифицируется как - "Не знаю". Это самое частое его слово в перерывах от его бреда

  • @user-ox9zt3bd5p
    @user-ox9zt3bd5p9 ай бұрын

    1:52:00 работа с свойствами (доступность\отображение и тд) делается через условное оформление, задается 1 раз при создании на сервере. не нужно ничего писать в обработчики события при изменении

  • @ephimantonov3581

    @ephimantonov3581

    9 ай бұрын

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

  • @user-ox9zt3bd5p

    @user-ox9zt3bd5p

    9 ай бұрын

    @@ephimantonov3581 не нужно ничего обновлять в обработчиках, это механизм платформы "Условное оформление формы" задается 1 раз и обновляется автоматически.

  • @ephimantonov3581

    @ephimantonov3581

    9 ай бұрын

    @@user-ox9zt3bd5p значит вы плохо осведомлены о работе условного оформления платформы для полей формы, а не таблиц или динамических списков. Попробуйте как-то только за счет условного оформления повлиять на видимость одного поля формы в зависимости от состояния другово.

  • @user-ox9zt3bd5p

    @user-ox9zt3bd5p

    8 ай бұрын

    @@ephimantonov3581 действительно, работает только для колонок таблиц. не знал) спасибо что просветили!

  • @Alcoholdehydrogenas
    @Alcoholdehydrogenas Жыл бұрын

    Красиво оформленный документ читать приятно. Когда документ (или код) оформлен красиво, то мозг не цепляется к оформлению, а приступает к сути.

  • @yellow_club

    @yellow_club

    Жыл бұрын

    Осталось только понять, что такое красивое оформление 😂

  • @user-oz8zi3zd1s
    @user-oz8zi3zd1s2 жыл бұрын

    Спасибо! Было интересно! Единственное, вступление сбило с толку. Почему-то после примера с примитивными крысами и более чутким человеком, думал, что разумность человека в этом примере и его острая реакция на отступление от привычного наоборот приведут к выводу делать привычней и проще. Есть вполне выразительные ЯП где верстка стоит во главе синтаксиса, и парадигма улучшения читаемости не проходит через фронт тренировки других своим мастерством. Эх и веселый 1С!)

  • @You2Ber42
    @You2Ber422 жыл бұрын

    Результат рефакторинга на мой взгляд очень спорный. Это связано в первую очередь с тем что есть как полезные моменты связанные с выносом кода в отдельные методы, объединение одинакового кода, но при этом есть и много вредных, например сокращение наименований, удаление комментариев. Это в java понятно через наведение мышки что за переменная у тебя (какой объект, где объявлена, область видимости) а в 1С "товары" может быть: ТЧ, реквизитом, глобальной переменной, массивом и.т.п. и быстро понять не получится (что собственно мы и видели в видео когда он 15 секунд искал переменную в реквизитах документа и нашел с 5й попытки). Из интересного и чего мне самому сильно не хватает в текущих стандартах от 1С - это именование глобальных переменных с большой буквы. Декларативное описание правил для поведения формы, это вообще стандарт в большинстве фреймворков, не удивительно что человек знакомый с другими языками предпочел написать свою реализацию и не стал писать тонны проверок, которые еще и вызвать нужно минимум из 2х мест, а их модификация постоянный источник ошибок. Из советов что почитать... мое мнение что если вы и дальше хотите заниматься 1С то лучше ничего не читать, чем больше вы будете читать про ООП, шаблоны проектирования, SOLID, тем больнее вам будет писать на бейсике в процедурном стиле на 1С. Чем больше вы узнаете про возможности СУБД тем больнее будет писать ВЫБРАТЬ , и отдельная боль будет при использовании записи через наборы записей. Конечно при работе через ORM всегда мы платим за удобство, но в случае с 1С мы прям сильно переплачиваем... Для меня не понятно зачем учиться 5 лет в институте на программиста, и потом идти в 1С работать "по специальности". На мой взгляд уровень языка 1С это уровень ПТУ.

  • @ephimantonov3581

    @ephimantonov3581

    2 жыл бұрын

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

  • @maximd8780

    @maximd8780

    2 жыл бұрын

    @@ephimantonov3581 @Ephim Antonov может вкусовщина, но переменная "МассивНепроверяемыхРеквизитов" будет полезнее новичку, чем "пропустить".

  • @werwolfwaffen3657

    @werwolfwaffen3657

    2 жыл бұрын

    @@maximd8780 и это адекватно. Если бы я наткнулся на "пропустить" вот в такой простыне. Я бы доооолго искал, а что потом происходит с этим "пропускантами". Тут скорее всего нужна золотая середина. Как грится "ВеликиаяПеременнаяМассиваИмениСвятыхИБлагоносныхБратьеНуралиевых" тож мало что даёт. Но "пропустить" совсем уж лишает переменную ее смыслового контекста.

  • @Ndochp

    @Ndochp

    2 жыл бұрын

    Любое программирование - уровень ПТУ. Другое дело, если тебя учат быть исследователем и в качестве одного из инструментов - язык программирования, то нехай ВУЗ.

  • @Ndochp

    @Ndochp

    2 жыл бұрын

    @@werwolfwaffen3657 Там по хорошему - должна быть одна строка "Пропустить = СобратьНепроверяемыеРеквизиты()" и нижних 6 строчек. Тогда будет понятно. А внутри "СобратьНепроверяемыеРеквизиты" эту переменную как угодно назвать можно, хоть "Результат"

  • @kaak9292
    @kaak9292 Жыл бұрын

    полезное видео мне зашло, несмотря на то что много много воды.

  • @yellow_club

    @yellow_club

    Жыл бұрын

    Рад, что понравилось

  • @MrNilich
    @MrNilich2 жыл бұрын

    Для 1с еклипс лучше брать АМД, и как можно больше оперативы с максимальной скоростью. Это по моему опыту.

  • @RPGamesOnly
    @RPGamesOnly5 ай бұрын

    1:01:01 - нафига добавлять дополнительную переменную и нагружать память если по факту ничего дополнительного она не изменит. Даже больше, условие в Если исчезнет из памяти, а переменная будет висеть в контексте процедуры до её окончания. Бред, а не рефакторинг

  • @SamGorodok17
    @SamGorodok174 ай бұрын

    Это нужно было назвать "альтернативные способы бороться с выгоранием когда 1с заебал"

  • @Lex_Liven
    @Lex_Liven Жыл бұрын

    Если вы зациклены на выравнивании кода - выделите его, нажмите Alt+Shift+F и читайте дальше спокойно.

  • @antonshvetsov1985
    @antonshvetsov19855 ай бұрын

    Жесть... после "пропустить" хотел закончить смотреть. Потом скобки через пробел. Конструкции с маленькой буквы... П%%ц! После такого кода обычно чищу клавиатуру от блевотины...

  • @rinatvaliullov3247
    @rinatvaliullov32472 жыл бұрын

    Весёлые парни )

  • @yellow_club

    @yellow_club

    2 жыл бұрын

    Это да)

  • @user-uu8hw7xd8z
    @user-uu8hw7xd8z2 жыл бұрын

    Спасибо. Но применять, я конечно это не буду.

  • @yellow_club

    @yellow_club

    2 жыл бұрын

    😂😂

  • @ljubasia
    @ljubasia Жыл бұрын

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

  • @NemanEnt
    @NemanEnt2 жыл бұрын

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

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w2 жыл бұрын

    Посмотрел, и первое впечатление - это конечно "жесть". Согласиться можно только с небольшим объёмом информации. Чтобы можно было отвечать на отдельные утверждения, напишу отдельными комментариями.

  • @kvt5002
    @kvt50022 жыл бұрын

    жду тайм коды

  • @yellow_club

    @yellow_club

    2 жыл бұрын

    Ещё пара минут и будут

  • @user-qp6pr8im9l
    @user-qp6pr8im9l5 ай бұрын

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

  • @user-ts5sv8vp3x
    @user-ts5sv8vp3x8 ай бұрын

    Крутое видео, но вначале нужно перетерпеть, так как смена парадигмы)

  • @yellow_club

    @yellow_club

    8 ай бұрын

    Ага) первые пять раз больно смотреть) на шестой раз начинаешь робко понимать 😂

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w2 жыл бұрын

    Про запросы: не важно что выбирает запрос? А потом вот сидишь и думаешь, почему "ЗаполнитьЗначенияСвойств(строка, выборка)" не заполняет нужную колонку =(

  • @mr.garibaldi1851
    @mr.garibaldi1851 Жыл бұрын

    Может переменные из 2-3-4-5 слов тоже будем писать с маленькой буквы, потому что эксперт считает, что лишний раз нажать Shift - это "Кисель между ушами". Как хорошо, когда есть супер0эксперты, которые изобретут свои собственные стандарты и потом горячо доказывают важность какой-то ерунды.

  • @yellow_club

    @yellow_club

    Жыл бұрын

    Дмитрий никому ничего не доказывает.

  • @strizhhh
    @strizhhh Жыл бұрын

    Некоторые комментарии (в т. ч. и в чате) являются иллюстрацией эффекта Даннинга-Крюгера.

  • @kvt5002
    @kvt50022 жыл бұрын

    Спасибо за отличный стрим, я, правда, не осилил два с лишним часа смотреть этого психа (в хорошем смысле слова).

  • @yellow_club

    @yellow_club

    2 жыл бұрын

    Можно в несколько заходов смотреть)

  • @denisunknown5953
    @denisunknown5953 Жыл бұрын

    Объявление переменных в месте использования прям нормально зашло, также Дмитрий помог избавиться от онанизма с отступами))) в целом есть фишки которые можно взять на вооружение

  • @IDDROIDE

    @IDDROIDE

    6 ай бұрын

    У меня кровь из глаз идёт когда знаки присваивания не выравнивают. Я за всеми код меняю в этом ключе. Ну реально, невозможно читать код без выравнивания знаков присваивания, в глазах рябит.

  • @SmartPumba
    @SmartPumba3 ай бұрын

    За два часа буквально пара полезных моментов (про мусорные комментарии и про модуль с ФО), а в остальном какие-то теоретические фантазии и попытки натянуть сову на глобус, противоречащие сами себе и элементарной логике. Слава богу, никто в здравом уме так не пишет, поддерживать такое было бы просто невозможно. • Написание с маленькой буквы - глупость, причем человек постоянно сам себе противоречит, что-то пишет с маленькой, а что-то с большой. Ну напишешь ты свои переменные с маленькой буквы, сэкономив 0.01сек, все равно куча типового кода, служебные слова, переменные из нескольких слов останутся написанными с большой и получится каша в коде. • Массив с названием “пропустить” - говнокод. А почему не “попрыгать” или “покушать” или вообще любой глагол, раз уж название переменной всё равно ничего не отражает? • Написание запроса руками тоже очевидная глупость по многим причинам - во-первых конструктор все равно конвертирует в большие, а во-вторых, запросы на 500-1000 строк чел тоже ручками пишет? Я бы хотел посмотреть на этот цирк. • Вынесение одной строчки кода вида “ВидОперации = …” в отдельную функцию - очередной говнокод, который как раз понижает читабельность, так как, вместо того, чтобы сразу видеть простую зависимость от вида операции, тебе надо проваливаться еще куда-то. А если таких условий 10 - вместо того чтобы сразу видеть всё условие ты должен болтаться по десятку однострочных процедур

  • @NemanEnt
    @NemanEnt2 жыл бұрын

    Не согласен полностью с рефакторингом запросов. Писать запросы руками... Плохое решение. Одно дело быстро чего-то в запрос дописать, другое, даже такой вот маленький запросик накидывать с клавиатуры... Я за минуту с перекурами его накидаю и ГАРАНТИРОВАННО не допущу ни одной очепятки (чтоб потом полчаса тупить почему он не работает). А зачастую в обслуживании у программиста находятся ни одна конфа, и не во всех одинаково называются объекты. Вон взять УНФ и УТ (или БП), там одни и те же, по сути, документы называются по разному или, даже, ту же УТ, но 10.3 и 11.4 тоже по разному называются. Разговор про когнитивную нагрузку, а тут сиди и вспоминай где как зовутся объекты и их реквизиты. Сколько только видов документов в конфигурации? В КА 2.4 только документов 484 штуки. (а есть ещё справочники, регистры, перечисления,... всё учить?). Поэтому в основу создания запроса всё таки входит конструктор, именно он снижает когнитивную нагрузку. Да, можно что-то потом раскопипастить и подправить от руки (например, когда нужно соединить несколько похожих таблиц или... ну есть варианты), но вывести в стандарт потом всё таки открыв запрос конструктором и нажав там ОК, чтоб он по стандартному всё выстроил. А значит всё будет расставлено и "разрегистровано" по стандарту. Есть наоборот приёмы, которые применяют, чтоб что-то вписать в запрос как динамический, но так, чтоб он открывался конструктором и не ломался. Например, вписывать типа параметр &УсловиеОтбораПоНоменклатуре, а после сборки текста провести в нём замену - ТЗ = СтрЗаменить(ТЗ, "&УсловиеОтбораПоНоменклатуре", ТекстУсловияОтбораПоНоменклатуре(ВыбНоменклатура)); Кстати, Запрос = Новый Запрос() так себе конструкция, как для написания, так и для чтения. Особенно, когда говорим о применении шаблонов в написании кода (а шаблоны это всегда скорость, хоть в написании, хоть в понимании) Я пользуюсь: ТЗ = ТекстЗапросаПоНоменклатуре(); // ТекстЗапросаПоНоменклатуре() не всегда отдельная функция, это может быть и прям текст запроса Запрос = Новый Запрос(ТЗ);

  • @androidt1c
    @androidt1c Жыл бұрын

    Весело, но просто ужасно. Не дай бог потом такой код разбирать.

  • @yellow_club

    @yellow_club

    Жыл бұрын

    А что с кодом не так?

  • @androidt1c

    @androidt1c

    Жыл бұрын

    @@yellow_club после такого рефакторинга намного тяжелее читать код. Говорящие названия переменных сильно упрощают жизнь. Читать слова с верхнего регистра легче. Пустые строки разбивают текст на блоки и делают восприятие проще. А вот чего не хватет, и что делаю лично я - переменные уровня модуля объекта или модуля формы начинаю с буквы "м" (мПеременная). Еще в 7.7 где-то вычитал у кого-то такой совет. Таких переменных мало, зато сразу бросаются в глаза, и нет вероятности случайно их испортить в какой-нибудь процедуре. По большому счету, реквизиты объекта тоже должны быть отделены от переменных сразу в коде. Много случаев, когда переменную называют именем, совпадающим с именем реквизита и потом не могут ошибку найти. Жаль это не реализовано при создании языка разработчиками платформы.

  • @yellow_club

    @yellow_club

    Жыл бұрын

    К такому восприятию кода приучила фирма 1С. Но если посмотреть вокруг, то большой надобности в заглавной букве нет, пробельные строки только удлиняют модуль. Названия переменных это дело каждого. Это реально труд, придумать классное имя. На мой взгляд, Дмитрий прекрасные имена предлагал.

  • @user-gk1tp1qk7j
    @user-gk1tp1qk7j4 ай бұрын

    ппц, рефакторинг... Гений пля.. Назвал переменную с массивом "пропустить". . ноу комментс После таких рефакторингов конфу можно на помойку отправлять

  • @mazeinkv
    @mazeinkv8 ай бұрын

    Многие советы похожи на вредные.

  • @artyomvashkevich602
    @artyomvashkevich6022 жыл бұрын

    Как по мне так ничего крутого и полезного.

  • @mendicator4319
    @mendicator43192 жыл бұрын

    Из курса понял что едт гавнище.

  • @yellow_club

    @yellow_club

    2 жыл бұрын

    Почему?)

  • @mendicator4319

    @mendicator4319

    2 жыл бұрын

    @@yellow_club потому что аксиомы не требуют доказательств )

  • @user-cb8jr3rj7s
    @user-cb8jr3rj7s Жыл бұрын

    запудривание мозгов

  • @yellow_club

    @yellow_club

    Жыл бұрын

    Почему?

  • @JesperRace
    @JesperRace2 жыл бұрын

    Полная херня, иди дальше на си шарпе программируй, может, там это нормально

  • @MrTorfable
    @MrTorfable6 ай бұрын

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

  • @yellow_club

    @yellow_club

    6 ай бұрын

    Гость прекрасный. Если не понимаешь человека, то проблема в тебе. Не надо вешать ярлыки на других

  • @user-vl7bh7gd3l
    @user-vl7bh7gd3l Жыл бұрын

    Ну неужели никак нельзя делать монтаж видео?! Два с половиной часа! Это ж Властелин Колец какой-нибудь. И так каждое видео на канале. Простите, а кушать и в туалет ходить когда? Вы бы ещё часа 4 писали. А че, "больше полезной информации" Даже технические.ошибки записи видео- не вырезают. Рукалицо

  • @yellow_club

    @yellow_club

    Жыл бұрын

    По 4 часа - много. Не усидишь на стуле 😂 Это прямой эфир. Из него ничего не вырежешь.

  • @werwolfwaffen3657
    @werwolfwaffen36572 жыл бұрын

    Оооооо дааааа...в методе называть "плохо" явное именование глобальных значений...а вот слушай, лохматег, у тебя резко изменяется поведение "удаленной" переменной. Цтрл-ф и цтрл-хе? Отлично наэкономил времени!

  • @vallak1981

    @vallak1981

    2 жыл бұрын

    Ты чего такой токсичный. На личности переходишь. Не нужно.

  • @werwolfwaffen3657

    @werwolfwaffen3657

    2 жыл бұрын

    @@vallak1981 а чоп нет:))) хочу и могу.

  • @vallak1981

    @vallak1981

    2 жыл бұрын

    @@werwolfwaffen3657 Просто молодой ты, и дурной немного, подростковость зашкаливает. Здесь специалист делится своим видением. Во многих моментах он прав, возьми что можешь понять, поблагодари и развивай свои скилы, ничего не можешь понять, пройди молча мимо. А из-за таких как ты хейтеров у человека может пропасть желание передавать опыт, да и просто некрасиво это.

  • @werwolfwaffen3657

    @werwolfwaffen3657

    2 жыл бұрын

    @@vallak1981 передать опыт как "запахать" качественный код? Передать опыт как "внезапно придумать себе клиента на вечной поддержке"? Тогда да. Атлична чилавек разганяет. Т.е. сначала сказать, что стандарты разработки это важно, а потом десять минут топтать эти стандарты. Кек чо. А аппелировпние к 20 годам опытоф разработки как-то разбивается о смишной затуп с поиском переменной и почему "оно так начало работать". За то малчег крутой жи есь бдд/тдд у него "сам сделять". "Печачать с маленькой буквы это ок" ну-ну "отступы и верстка кода ненужон". Это все применимо когда ты "1снег на заводе" (как писал белокаменцев) ,а когда ты разгоняешь за кровавый энторпрайз то будь добр пиши как говорят в стандарте.

  • @ephimantonov3581

    @ephimantonov3581

    2 жыл бұрын

    @@werwolfwaffen3657 милый друг, это у вас первая стадия принятия ситуации, "отрицание". Чере пару лет до вас дойдет о чем говорит автор. А ваша неспособность воспринимать новое и альтернативное, хорошо говорит о ваших профессиональных качествах как инженера, точнее их отсутствии. Берегите свою нервную систему, этот материал рановат для вашего уровня.

  • @user-sg8bv6sk4s
    @user-sg8bv6sk4s2 ай бұрын

    а я не осуждаю) интересный подход)

Келесі