Лучший способ включить средства проверки правописания в процесс сборки - PullRequest
9 голосов
/ 04 сентября 2008

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

  • Не все строки видны пользователю, и их нетрудно разделить и сохранить это разделение на месте (но это возможно )
  • Большинство, если не все, методы экстернализации строк, которые я использовал, включают значительный текст, который не пройдет проверку орфографии, такой как aspell / ispell (например: theStrName = "some string." И comments)
  • Многие проверки правописания (опять же aspell / ispell) не обрабатывают много слов из коробки (обычно это технические термины, собственные имена или просто «новая» терминология, например, метаданные).

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

Ответы [ 6 ]

1 голос
/ 10 сентября 2009

Если вы используете java и храните свои локализованные строки в пакетах ресурсов, то вы можете проверить файлы Bundle.properties и проверить строки комплектов. Вы также можете добавить специальную аннотацию к комментарию, которую ваш процессор сможет использовать для определения необходимости пропуска записи.

Этот метод позволит вам дать подсказку о локали и предоставить возможность проверки нескольких языков в одном процессе сборки.

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

1 голос
/ 09 сентября 2009

Первое, что касается экстернализации строк - GNU GetText (при правильном использовании) создает строковые файлы, которые почти не содержат текста, кроме фактического содержимого строк (есть некоторые заголовки, но легко заставить программу проверки орфографии игнорировать их ).

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

1 голос
/ 09 сентября 2009

Я могу придумать два способа приблизиться к этому полуавтоматически:

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

Если это выполнимо, конечно, зависит от платформы и общей архитектуры приложения.

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

1 голос
/ 30 сентября 2008

Мы делаем это вручную, если ошибки не обнаруживаются во время тестирования, то они обнаруживаются командой QA, или во время локализации переводчиками, или во время QA локализации. Тогда мы подаем ошибку.

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

Ничто из нескольких сотен строк не может быть на 100% безошибочным (ну ... может быть, это странный фрагмент встроенного кода), просто думайте об ошибках орфографии как об ошибках и не тратьте на это слишком много времени. *

Как только ваше приложение станет более зрелым, более 90% строк не будут меняться между выпусками, и было бы довольно тривиальным упражнением сравнить две версии ваших ресурсов, выяснить, что нового (проверьте сначала), что изменено / обновлено (проверьте следующее) и что не изменилось (проверять не нужно)

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

0 голосов
/ 09 сентября 2009

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

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

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

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

0 голосов
/ 30 сентября 2008

Используйте aspell. Это программа, она доступна для Unixoids и Cygwin, она может быть запущена на множестве видов исходного кода. Используйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...