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

Поділитися
Вставка
  • Опубліковано 5 чер 2024
  • На 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  Рік тому +2

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

  • @xrollup
    @xrollup Рік тому +14

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

    • @yellow_club
      @yellow_club  Рік тому

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

  • @vladyan01
    @vladyan01 Рік тому +5

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

  • @bollevar
    @bollevar 2 роки тому +5

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

  • @triera2000
    @triera2000 2 роки тому +4

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

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w 2 роки тому +8

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

  • @user-cb5nl2fq8u
    @user-cb5nl2fq8u 2 роки тому +6

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

  • @MrBlagin
    @MrBlagin 2 роки тому +3

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

  • @mirkotej
    @mirkotej 2 роки тому +3

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

  • @mendicator4319
    @mendicator4319 2 роки тому +9

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

    • @werwolfwaffen3657
      @werwolfwaffen3657 2 роки тому +5

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

  • @MrKreker83
    @MrKreker83 2 роки тому +16

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

    • @AlexanderM75
      @AlexanderM75 2 роки тому +4

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

    • @Ndochp
      @Ndochp 2 роки тому +1

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

  • @user-xq3pv6og1b
    @user-xq3pv6og1b 2 роки тому +1

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

  • @user-vl7bh7gd3l
    @user-vl7bh7gd3l Рік тому +1

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

  • @user-vo7eh4wq2q
    @user-vo7eh4wq2q 2 роки тому +4

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

    • @yellow_club
      @yellow_club  2 роки тому

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

    • @user-vo7eh4wq2q
      @user-vo7eh4wq2q 2 роки тому +1

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

  • @werwolfwaffen3657
    @werwolfwaffen3657 2 роки тому +10

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

  • @LosashExote
    @LosashExote 2 роки тому +10

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

    • @LosashExote
      @LosashExote 2 роки тому +1

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

  • @NemanEnt
    @NemanEnt 2 роки тому +3

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

  • @user-vm4sg3lq7l
    @user-vm4sg3lq7l 2 роки тому +8

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

  • @user-ox9zt3bd5p
    @user-ox9zt3bd5p 10 місяців тому

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

  • @user-nk3oi3ru7e
    @user-nk3oi3ru7e 2 роки тому +9

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

    • @AlexandrPuzakov
      @AlexandrPuzakov 2 роки тому

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

    • @user-nk3oi3ru7e
      @user-nk3oi3ru7e 2 роки тому

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

    • @AlexandrPuzakov
      @AlexandrPuzakov 2 роки тому

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

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w 2 роки тому +2

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

  • @user-oz8zi3zd1s
    @user-oz8zi3zd1s 2 роки тому +3

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

  • @Alcoholdehydrogenas
    @Alcoholdehydrogenas Рік тому +1

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

    • @yellow_club
      @yellow_club  Рік тому

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

  • @kaak9292
    @kaak9292 Рік тому +1

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

    • @yellow_club
      @yellow_club  Рік тому

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

  • @vladyan01
    @vladyan01 Рік тому

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

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w 2 роки тому

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

  • @RPGamesOnly
    @RPGamesOnly 6 місяців тому +1

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

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w 2 роки тому

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

  • @MrNilich
    @MrNilich 2 роки тому

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

  • @user-ox9zt3bd5p
    @user-ox9zt3bd5p 10 місяців тому

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

    • @ephimantonov3581
      @ephimantonov3581 9 місяців тому

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

    • @user-ox9zt3bd5p
      @user-ox9zt3bd5p 9 місяців тому

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

    • @ephimantonov3581
      @ephimantonov3581 9 місяців тому

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

    • @user-ox9zt3bd5p
      @user-ox9zt3bd5p 9 місяців тому

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

  • @You2Ber42
    @You2Ber42 2 роки тому +13

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

    • @ephimantonov3581
      @ephimantonov3581 2 роки тому +2

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

    • @maximd8780
      @maximd8780 2 роки тому +7

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

    • @werwolfwaffen3657
      @werwolfwaffen3657 2 роки тому +5

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

    • @Ndochp
      @Ndochp 2 роки тому +1

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

    • @Ndochp
      @Ndochp 2 роки тому

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

  • @ljubasia
    @ljubasia Рік тому

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

  • @user-uu8hw7xd8z
    @user-uu8hw7xd8z 2 роки тому +2

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

  • @rinatvaliullov3247
    @rinatvaliullov3247 2 роки тому

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

  • @user-ll2in3ci3w
    @user-ll2in3ci3w 4 місяці тому

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

  • @user-ts5sv8vp3x
    @user-ts5sv8vp3x 8 місяців тому

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

    • @yellow_club
      @yellow_club  8 місяців тому

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

  • @Lex_Liven
    @Lex_Liven Рік тому

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

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w 2 роки тому +1

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

  • @kvt5002
    @kvt5002 2 роки тому +3

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

    • @yellow_club
      @yellow_club  2 роки тому

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

  • @SamGorodok17
    @SamGorodok17 4 місяці тому

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

  • @antonshvetsov1985
    @antonshvetsov1985 5 місяців тому +1

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

  • @RPGamesOnly
    @RPGamesOnly 6 місяців тому

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

  • @NemanEnt
    @NemanEnt 2 роки тому

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

  • @user-qp6pr8im9l
    @user-qp6pr8im9l 5 місяців тому

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

  • @user-yd9jl1zs7w
    @user-yd9jl1zs7w 2 роки тому

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

  • @strizhhh
    @strizhhh Рік тому

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

  • @denisunknown5953
    @denisunknown5953 2 роки тому

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

    • @IDDROIDE
      @IDDROIDE 6 місяців тому

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

  • @kvt5002
    @kvt5002 2 роки тому

    жду тайм коды

    • @yellow_club
      @yellow_club  2 роки тому

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

  • @mr.garibaldi1851
    @mr.garibaldi1851 Рік тому

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

    • @yellow_club
      @yellow_club  Рік тому +1

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

  • @SmartPumba
    @SmartPumba 3 місяці тому

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

  • @NemanEnt
    @NemanEnt 2 роки тому

    Не согласен полностью с рефакторингом запросов. Писать запросы руками... Плохое решение. Одно дело быстро чего-то в запрос дописать, другое, даже такой вот маленький запросик накидывать с клавиатуры... Я за минуту с перекурами его накидаю и ГАРАНТИРОВАННО не допущу ни одной очепятки (чтоб потом полчаса тупить почему он не работает). А зачастую в обслуживании у программиста находятся ни одна конфа, и не во всех одинаково называются объекты. Вон взять УНФ и УТ (или БП), там одни и те же, по сути, документы называются по разному или, даже, ту же УТ, но 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-gk1tp1qk7j 4 місяці тому

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

  • @mazeinkv
    @mazeinkv 8 місяців тому

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

  • @JesperRace
    @JesperRace 2 роки тому +5

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

  • @artyomvashkevich602
    @artyomvashkevich602 2 роки тому +1

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

  • @mendicator4319
    @mendicator4319 2 роки тому +5

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

    • @yellow_club
      @yellow_club  2 роки тому

      Почему?)

    • @mendicator4319
      @mendicator4319 2 роки тому +1

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

  • @MrTorfable
    @MrTorfable 6 місяців тому

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

    • @yellow_club
      @yellow_club  6 місяців тому

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

  • @user-cb8jr3rj7s
    @user-cb8jr3rj7s Рік тому +1

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

  • @user-vl7bh7gd3l
    @user-vl7bh7gd3l Рік тому

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

    • @yellow_club
      @yellow_club  Рік тому

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

  • @werwolfwaffen3657
    @werwolfwaffen3657 2 роки тому +2

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

    • @vallak1981
      @vallak1981 2 роки тому +2

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

    • @werwolfwaffen3657
      @werwolfwaffen3657 2 роки тому +1

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

    • @vallak1981
      @vallak1981 2 роки тому +2

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

    • @werwolfwaffen3657
      @werwolfwaffen3657 2 роки тому +4

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

    • @ephimantonov3581
      @ephimantonov3581 2 роки тому +1

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

  • @user-sg8bv6sk4s
    @user-sg8bv6sk4s 2 місяці тому

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