Александр Кунташов — про 1С и не только
2.47K subscribers
219 photos
10 videos
417 links
Заметки про разработку и смежные штуки: 1С, Vanessa Automation, DevOps в 1С, OneScript, PHP, Linux, JS, Python и всякое вокруг и около ИТ.
Download Telegram
Все что вы хотели знать о технологии блокчейн в 1С (это реально из прода 🤪).

#codesmells 💩 #говнокод
Сегодня просто цитата из рабочей переписки:

«Я год работал над собой, прежде чем смог сменить чувство, что я подвёл чьи-то ожидания, не сделав задачу в срок, на чувство "какой дебил написал здесь "два часа".»
🥳 Вредные советы по юнит-тестированию

На хабре отличная саркастическая статья-исследование юнит-тестов в открытых проектах на java с кучей примеров со ссылками на реальные репы на github'е. Цитата для привлечения внимания:

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

Комментарии к статье тоже отличные и практически полезные.

Ссылка: https://habr.com/post/434972/
Потрясающая вводная статья по сценарному тестированию/bdd и применению инструментов от Владимира Литвиненко https://infostart.ru/public/969637/

Владимир проходил курс по промышленной разработке, подробно разобрался в предмете и имеющейся документации, а сейчас очень структурированно изложил основные принципы сценарного тестирования в 1с, BDD, имеющиеся сложности и подходы.

Настоятельно рекомендую к прочтению всем, кто интересуется темой и по каким-то причинам ещё не начал применять соответствующие методики и инструменты в своей работе.

С нетерпением жду продолжения цикла статей.
Эффект разбитых окон при доработке легаси-кода

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

В результате этих доработок изначально неплохо написанный механизм два разработчика довели до смердящего 💩 состояния. (Оценку "неплохо" даю по фрагментам незатронутого доработками смежного кода.)

На ревью я с удивлением обнаружил, что неплохо программирующий Вася мимикрировал под своих коллег, оставивших след до него. И я задумался 🤔.

Заказчик в код не смотрит, а новый функционал соответствует его ожиданиям. Ограничения по бюджету и сроку соблюдены. Сам Вася комплексов, как я понял, не испытывает. Код в этом модуле изменяется относительно редко и от него ничего серьезного не зависит. Это так мой внутренний голос эффективного (зачеркнуто) менеджера 😈 убеждает меня, что все ок.

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

Как бы поступили вы на месте разработчика? Зарефакторили молча? Или все-таки сначала обсудили бы явно с руководителем/заказчиком, а уже в случае отрицательного решения — наговнокодили? Или, может быть, забили бы на окружающий старый код, но сами постарались бы написать чисто?

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

Кажется, неплохая тема для пятничной дискуссии. Предлагаю обсудить в @ssl1c :-)

#codesmells #говнокод
Вам поставили задачу доработать некий существующий функционал. Его текущая реализация: 💩-код. Как вы поступите? (подробнее ситуация описана в https://t.iss.one/kuntashov_devnotes/315)
anonymous poll

2. 😷 Свой код напишу чисто, чужой постараюсь не трогать – 113
👍👍👍👍👍👍👍 50%

4. 👔 Предложу сначала провести рефакторинг. Откажутся - см. п. 2 – 80
👍👍👍👍👍 35%

3. 💩 Напишу в стиле предыдущих авторов (для единообразия) – 20
👍 9%

1. 💪 Перепишу все с нуля – 8
▫️ 4%

5. 😎 Другое (расскажу в чате @ssl1c) – 6
▫️ 3%

👥 227 people voted so far.
👋 Всем привет!

За последнюю неделю количество подписчиков приятно увеличилось на 150+ человек (судя по всему благодаря упоминанию на Geekbrains). Добро пожаловать!

Я профессионально занимаюсь разработкой и управлением проектами вокруг да около 1С и Битрикс/Битрикс24 и публикации в этом чате так или иначе являются отражением моей рабочей деятельности.

В личке меня уже несколько раз спросили, где в Телеграме можно задать вопрос и пообщаться по тематике 1С. Вот список чатов в Телеграме, где я время от времени бываю и в которых почти каждый день идут интересные обсуждения с участием крутых разработчиков 1С:

@ssl1c — чат для обсуждения 1С:Библиотеки стандартных подсистем и в целом по разработке на 1С и смежным темам, например по DevOps'у в мире 1С и архитектуре, по стандартам разработки (в контексте 1С и не только). Чат администрируется одним из разработчиков БСП.

@testspro1c — чат для обсуждения вопросов тестирования в 1С. Там админствует Леонид Паутов (PrMex), в прошлом ведущий разработчик Vanessa Behavior, а сегодня - автор ее форка Vanessa Automation.

@edt1c — чат по 1C:Enterprise Development Tools, новому средству разработки 1С, который когда-нибудь заменит конфигуратор 1С (не сочтите за сарказм).

@oscript_library — чат по OneScript — опенсорсной, кросс-платформенной реализации встроенного языка программирования 1С. Там обсуждают практику использования ванскрипта и библиотек, написанных на нем. Администраторы чата: ведущий разработчик OneScript Андрей Овсянкин и автор огромного количества библиотек на этом языке — Никита Грызлов.

@silvernation — чат команды Серебряная пуля (знаменитые в сообществе 1С Алексей Лустин, Артур Аюханов, Андрей Овсянкин). Эти ребята на передовой: авторы и разработчики/ментейнеры ведущих open-source проектов на 1С, таких как xUnitFor1C и Vanessa-ADD. Цитирую Артура: "Мы и тестированием активно занимаемся, и DevOps, и статический анализ кода и вообще одни из главных и первых практиков применения инженерных практик для мира 1С".

@unofficialC1 — это самый неформальный из перечисленны выше чатов, в котором общаются специалисты по 1С (не только разработчики). Обсуждения там бывают и на профессиональные темы, и не очень. Осторожно: там ругаются матом, грубо шутят и уровень флуда там часто переходит границы разумного.

@bit24dev — чат для внедренцев и разработчиков CRM Битрикс24. Там есть в том числе разработчики из самого Битрикса (даже Востриков собственной персоной периодически появляется и отвечает).

Кому нужно больше, посмотрите список каналов и чатов по 1С и управлению проектами по ссылке https://www.yellowbathrobes.com/blog/tgchannels

Продуктивного и приятного общения!
👔 Взгляд среднего бизнеса на инновации vs 🤓 взгляд молодого ИТшника. Утрировано и однобоко, но основной конфликт отражает.

Оригинальный тред: https://mobile.twitter.com/karbonio/status/1085996541482070016
📚 Что почитать на выходных — 6

🎓 Будущее программирования, Роберт Мартин [25 мин]
Владимир Литвиненко сделал транскрипт/перевод интересного выступления Дядюшки Боба с размышлением о том, как развивалась, развивается и будет развиваться наша отрасль. Видео оригинального доклада здесь.

😎 The Four Keys To Rapid Response Software Development [15 мин]
Энди Хант, один из авторов Agile Manifesto, кратко и по делу пишет о 4 ключевых принципах на которые должна опираться современная разработка ПО. Зацепило: "...if you have long-running feature branches that have to be re-integrated to Master at some point in the future, then congratulations! You’ve just re-invented “waterfall.”"

🐒 Пользователи нелогичны, а инновации нужны не всем: ожидания и реальность дизайнеров при разработке продуктов [20 мин]
В статье систематизированы основные ошибки, которые аналитики, дизайнеры UI и разработчики допускают, пытаясь понять, чего хотят пользователи. Ничего нового для тех, кто читал фундаментальные книжки по анализу требований и проектированию UX, но в качестве конспекта-напоминалки хорошо подойдет.

🤓 Things I don't know as of 2018 [10 мин]
Ведущий разработчик React Дэн Абрамов признается в том, что он знает гораздо меньше технологий, чем многие думают о нем ("тыжпрограммист"). Статья бурно обсуждалась в твиттере, в результате автор написал продолжение: The Elements of UI Engineering, в которой написал, что же он все-таки знает. Общие идеи публикаций в том, что полезнее не знание каких-то конкретных технологий, а понимание проблем, которые они решают и принципов, на которых они построены.

🔔 Комбинаторика британского колокольного звона [10 мин]
Статья для гиков, любящих комбинаторику, а также для тех, кому интересны истории любопытных устройств. К слову, любителям всего странного около-ИТшного и около-математического рекомендую канал @pathetic_low_freq целиком.

📖 Бонус-трек: Для чтения на всю грядущую неделю рекомендую Яндекс.Книгу — история становления и развития Яндекса, построенная в виде множества интервью с ключевыми персонажами, связанными с Яндексом. Мне чтение подарило несколько инсайтов на тему стартапов, управления персоналом, (само)мотивации. Ну и в целом история интереасная, написано не скучно. Вот вам одна из классных цитат книги для затравки (слова Леонида Богуславского):

У меня есть вообще такая теория. У каждого человека в течение жизни возникает некоторое количество уникальных для него возможностей. И люди делятся на три категории. Одни эти возможности не замечают, просто не видят. Вторая категория — это те, кто видит эти возможности, но не готов ничего изменить в своей жизни. Я их называю люди-трамваи, они ездят по рельсам, видят, что вот там что-то такое светит, что-то хорошее, интересное, но как-то вот на рельсах тоже неплохо, надежно — ну и едем дальше. А третья категория — это те, кто видит эти возможности и всегда готов к переменам, чтобы их постараться реализовать.

#ЧтоПочитатьНаВыходных
Попытка - не пытка?!
p.s.
А вообще здесь "прекрасно все":
1. Вложенные попытки
2. Закомментированный код
3. Цикл без тела цикла
4. Сравнение константы булева типа с литералом булева типа
4. Копипаст
5. В условной конструкции Если Константы... 4 экрана программного кода
6. Неиспользуемая переменная
#codesmells 💩 #говнокод
Все любят истории про ПервыйБит. Вот твиттер свеженького принес. Оригинал: https://twitter.com/_jeck/status/1087353614979481605

Ссылка на тест из твита:https://hr-portal.ru/pages/hu/logika.php
Прикольная вакансия в Битрикс24 с релокацией в Калининград под крыло к Сергею Вострикову aka @brainmixer
Forwarded from Иван
Аттеншен, плиз :)
Регулярно местные пишут что в доке по RESTу "не все так гладко как бы хотелось".
Так вот что мы (битрикс) на эту тему надумали.

Хочется сделать так, чтобы разработчик с самым разным уровнем получал исчерпывающий ответ - как ему решить задачу клиента, создать приложение. Именно это и нужно будет организовать новому человеку в нашей команде. @brainmixer набирает себе помощника. Ответственная и интересная задача.

Обычно даже в небольшой команде разработчиков выделяется человек, которому искренне интересно разобраться "как оно устроено" и объяснить другим. Ведуться блоги, пишутся мануалы. А тут документация, "туториалы" для огромного сообщества.

Тысячи (и я не утрирую) разработчиков работает с Б24, с нашей докой по всему миру! Представляете какую уважуху от сообщества можно получить на этой позиции! Не подумайте плохого, зарплату тоже платят :)

Подробное описании вакансии по ссылке https://kaliningrad.hh.ru/vacancy/29646728
Элеонора Золошкова наш HR, ей писать отклики +7 (911) 4669958, [email protected]
Знаю что и с релокацией мы помогаем, а уж сколько про жизнь в Калининграде написано :)

---
p.s.
Если вы знаете подходящего кандидата - поделитесь с ним ссылкой пожалуйста!
Кажется всем разработчикам в этом чатике интересно чтобы такой человек нашелся быстрее :)
📚 [ИТС] Организация эксплуатации крупной информационной системы

@zeegin в @ssl1c поделился ссылкой на прикольную статью на ИТС, название которой вынесено в заголовок поста:

https://its.1c.ru/db/metod8dev#content:5905:hdoc (доступ бесплатный, без регистрации и СМС)

Внушительный такой чеклист по элементам DevOps в контексте 1С.

p.s. У многих специалистов сложился устойчивый стереотип, что все полезное на ИТС по подписке, но нет, есть и открытые публикации, так что полезно посерфить по сайту даже не имея полного доступа.
#Анонс новых релизов

Выпущена вязанка релизов вокруг проекта BSL Language Server.

Во-первых, обновился BSL Parser. Помимо исправления различных ошибок, он теперь умеет строить AST по инструкциям препроцессора и не считает ключевые слова после точки ключевыми словами - например Запрос.Выполнить().

Во-вторых, обновился сам BSL Language Server. Было добавлено несколько новых диагностик, например, такие как поиск пустых блоков кода, ограничение на размер метода; так же были исправлены ошибки асинхронной работы на больших проектах и проведены некоторые прочие оптимизации.

А еще у проекта появился собственный сайт на базе GitHub Pages! Туда перенесена часть информации из README, появился раздел по списку диагностик и репортеров. На wiki проекта появилась статья Добавление диагностики, рассказывающая, как добавить новую диагностику в language server. В скором времени она будет перенесена на сайт.

В третьих, выпущен новый релиз SonarQube 1C (BSL) Community Plugin. Плагин теперь умеет рисовать главный сонаровский дашборд, рассчитывать дублирование кода (cpd), количество строк кода, заработала подсветка исходников при просмотре файлов. Плагин научился импортировать несколько json-файлов с результатами анализа.

Отчаянные early adopters уже развернули сонар у себя и пытаются импортировать типовые и доработанные конфигурации ;) Особо отчаянные даже пишут экспортер из АПК в формат, совместимый с BSL Language Server, который (я надеюсь) будет доделан еще до выхода следующего большого релиза АПК :)

Скриншоты прилагаются!

P.S. Ссылочки проектов видут на подробные чейнджлоги.