TGViewer
Библиотека шарписта | C#, F#, .NET, ASP.NET Библиотека шарписта | C#, F#, .NET, ASP.NET @csharpproglib · 21.6K subscribers
Post #6180 4.03K
📎 Ревью коллег на аутсорсе

Лайфхак: чтобы проводить ревью, а не «ставить галочки», вставьте код коллеги в промпт ниже. Нейросеть предложит конкретные точки для рефакторинга, которые можно отметить в комментариях.

Промпт:
Отрефактори приведённый ниже код, сохранив точное поведение. Главные цели (в порядке приоритета): 1) поведение без изменений; 2) читабельность; 3) снижение/упрощение сложности; 4) улучшение структуры и соблюдение принципов SOLID.

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

Ожидаемый выход (deliverables):
1) Unified diff (git-style unified diff) с изменениями — только изменения, применимые к файлам. Если создаёте новые файлы, укажите их в diff как new file mode.
2) Полный итоговый вариант рефакторнутого(ых) файла(ов) (после изменений) для быстрой проверки.
3) Минимальный набор юнит-тестов или скрипт/команды для воспроизведения и проверки, что поведение идентично исходному (если исходных тестов не было, создайте базовые тесты покрывающие ключевые сценарии).
4) Короткая секция «Ключевые решения» — по каждому существенному изменению объяснить:
- Что было изменено (строки/функция/класс);
- Почему (чёткая связь с читабельностью/сложностью/структурой/SOLID);
- Влияние на поведение, производительность и сложность (оценка O-нотации или замеры при возможности);
- Потенциальные риски/ограничения.
5) Сводка применённых принципов SOLID: для каждого принципа — что конкретно сделано (например: «SRP: класс X разделён на A и B, т.к. имел две ответственности»).
6) Commit-style summary: короткий заголовок (<= 50 символов) и 1-2 абзаца описания.
7) Если какое-то требование невозможно выполнить (например, воспроизвести тесты), явно укажите причину и предложите компромисс.

Формат вывода:
- Первой секцией выведите unified diff (если изменений нет — верните комментарий и пояснение почему).
- Далее — «Полные файлы после рефакторинга».
- Затем — «Юнит-тесты / Проверка» и инструкция как запускать (команды).
- Завершите «Ключевыми решениями» и «Commit summary».

<вставьте исходный код здесь>


🐸Библиотека шарписта

#буст
  • 👍 3
More from @csharpproglib
  1. Sep 30, 2026📝 Логирование со строковой интерполяцией Логирование c интерполяцией строк один из самых…
  2. Sep 28, 2026👨‍💻 Не показывайте технические ошибки пользователям Когда приложение падает с необработа…
  3. Sep 26, 2026📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #garbage_collector
  4. Sep 25, 2026🔐 NuGet: Microsoft меняет сертификат подписи С 23 сентября Microsoft использует новый сер…
  5. Sep 24, 2026🤩 Как поймать зависший .NET-сервис Приложение начинает тормозить, запросы зависают, а в л…
  6. Sep 23, 2026⚙️ yield return не бесплатный Итераторы выглядят просто, но работают иначе: IEnumerable<in…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →