-
Notifications
You must be signed in to change notification settings - Fork 31
#215 Уточнен текст ошибки определения канала. #252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughОбновлена логика автоопределения канала в КомандаOpm_Push: в двух сценариях добавлены более подробные сообщения об ошибках и перечисление допустимых значений канала. Инициализирована структура допустимых каналов и добавлена функция для генерации строкового списка этих значений. Changes
Sequence Diagram(s)sequenceDiagram
participant U as Пользователь
participant P as КомандаOpm_Push
participant G as Git репозиторий
U->>P: Выполнить opm push (без --channel)
P->>G: Определить текущую ветку
alt Не Git-репозиторий или ветка ≠ master
P->>P: ДопустимыеИменаКаналовЗначения()
P-->>U: Ошибка + список допустимых каналов
else Условия выполнены
P-->>U: Продолжение выполнения push
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~7 минут Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/cmd/Классы/КомандаOpm_Push.os (3)
84-86
: Избавиться от дублирования текста ошибки (вынести в функцию)Один и тот же текст ошибки повторяется в двух местах (здесь и на Линия 90–92). Предлагаю вынести шаблон ошибки в небольшую функцию, чтобы не дублировать конкатенацию строк и упростить будущие правки.
Пример замены в этом месте:
- ВызватьИсключение "Невозможно автоматически определить канал. " - + "Требуется явное указание в параметре --channel одного из значений: " + ДопустимыеИменаКаналовЗначения(); + ВызватьИсключение ТекстОшибкаАвтоКанала();Пример реализации функции приведен в комментарии к Линия 208–218.
90-92
: Устранить дублирование и, по возможности, поддержать main как стандартную ветку
- Как и выше, рекомендую заменить дублирующийся текст вызовом общей функции формирования сообщения.
- Дополнительно (опционально): многие репозитории уже используют main вместо master. Если это приемлемо для проекта, можно допустить auto и для ветки main.
- ВызватьИсключение "Невозможно автоматически определить канал. " - + "Требуется явное указание в параметре --channel одного из значений: " + ДопустимыеИменаКаналовЗначения(); + ВызватьИсключение ТекстОшибкаАвтоКанала();Пример функции — см. комментарий к Линия 208–218.
208-218
: Переименовать локальную переменную и выделить функцию для текста ошибки
- Внутри функции имя локальной переменной совпадает с именем функции. Для читаемости лучше избежать такого совпадения и дать переменной более точное имя.
- Рекомендую вынести шаблон текста ошибки автоопределения канала в отдельную функцию, чтобы не дублировать конкатенацию строк на Линия 84–86 и Линия 90–92 и централизовать формат.
-Функция ДопустимыеИменаКаналовЗначения() - - ДопустимыеИменаКаналовЗначения = Новый Массив; - Для Каждого ИмяКанала Из ДопустимыеИменаКаналов Цикл - ДопустимыеИменаКаналовЗначения.Добавить(ИмяКанала.Значение); - КонецЦикла; - - Возврат СтрСоединить(ДопустимыеИменаКаналовЗначения, ", "); - -КонецФункции +Функция ДопустимыеИменаКаналовЗначения() + + ЗначенияКаналов = Новый Массив; + Для Каждого ПараКлючЗначение Из ДопустимыеИменаКаналов Цикл + ЗначенияКаналов.Добавить(ПараКлючЗначение.Значение); + КонецЦикла; + + Возврат СтрСоединить(ЗначенияКаналов, ", "); + +КонецФункцииДополнительно (вставить рядом, вне рамок показанного диффа):
Функция ТекстОшибкаАвтоКанала() Возврат "Невозможно автоматически определить канал. " + "Требуется явное указание в параметре --channel одного из значений: " + ДопустимыеИменаКаналовЗначения(); КонецФункции
Примечание: Аналогично можно переиспользовать ДопустимыеИменаКаналовЗначения() в ветке с текстом «Указано недопустимое имя канала…», если потребуется вывести значения в одну строку; либо оставить там многострочный формат — на ваше усмотрение.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
src/cmd/Классы/КомандаOpm_Push.os
(2 hunks)
🔇 Additional comments (2)
src/cmd/Классы/КомандаOpm_Push.os (2)
84-86
: Более понятное сообщение об ошибке при auto вне git — хорошоТекст стал информативнее и сразу подсказывает допустимые значения канала. Это улучшает UX.
90-92
: Более понятное сообщение об ошибке при auto в не-master ветке — хорошоКонсистентно с предыдущим случаем, сразу показывает допустимые значения.
Спасибо! |
Summary by CodeRabbit
Новые возможности
Исправления ошибок