Обновить

Создание Python-библиотеки для перевода исключений на русский язык

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.9K
Всего голосов 3: ↑1 и ↓2-1
Комментарии5

Комментарии 5

Вот даже не знаю, с чего б я начал ревью. Допустим этот код хотим использовать в реальном серверном приложении (иначе зачем кэш на 100к разных ошибок?)

Текст ошибок потениально содержит пользовательские данные. Неконтролируемая отправка их в Google Translate - сторонний сервис в иностранной юрисдикции - грозит штрафами до 10 млн. рублей.

Приложение может быть развёрнуто в окружении, где файловая система - read only.

Чтение json-файла на 100к записей на каждую(!) ошибку - это очень медленно.

Цвета и прочий ascii art часто крайне мешают при интеграции с другими приложениями, такими как сборщики логов. Как и перевод, цвет лучше делать не силами приложеиня, а добавлять во всяких внешних графанах/sentry/...

Если 90% кода и ошибок написаны английскими словами, может быть стоит язык до уровня A2 подтянуть?

----

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

Насчёт использования в продакшене — вы правы. В будущем попробую добавить локальный машинный перевод, чтобы все данные оставались в безопасности. Что касается ascii-арта и цвета — я сделал это для удобства, чтобы ошибка сразу бросалась в глаза, но проблему учту и добавлю возможность отключения заливки цветом. JSON заменю на SQLite для более быстрой обработки. Также предусмотрю обработку случаев с read-only хранилищем.

Столкнувшись с исключением, иногда не понимаешь: "divizion by zero" — что это? 

Как это что? Дивизион нулей это, вот что! Если на русский переводить. То есть имя им легион, и все нули.

Эскадрон барашков (ц) какой-то советский фильм

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации