Качество разработки программного обеспечения - довольно обширная область, и большая часть ее относится к коду, написанному на R, так же, как к коду или C #, поэтому мой первый ответ будет «это зависит».
Для меня я родом из фармацевтической промышленности, где то, что мы делаем, регулируется государственными органами, такими как FDA и MHRA.Для нас качество - это то, о чем мы думаем на протяжении всего процесса, поэтому я бы назвал следующие видимые артефакты качества:
- У нас есть процесс разработки программного обеспечения, который записан и повторяется (традиционно в этом роде)в промышленности это стиль водопада , но все больше и больше метод гибкого / прототипирования используются методологии)
- У нас есть система, которая гарантирует, что каждый вовлеченный в нее человек знает, чтоони должны выполнять (должностные инструкции) и иметь соответствующую квалификацию, чтобы выполнять эту работу (обучение)
- Мы начинаем с определения того, что требуется каким-то образом, надеюсь, каким-то образом, которое можно проверить
- У нас есть какой-то способ документирования нашего процесса разработки, где мы были и как (сочетание хорошей документации и Source Control )
- Мы проводим тестирование, где это возможно, и как можно раньше(так, автоматизировано , если возможно)
- У нас есть людей , которые несут ответственность за болеевидя качество, которые отделены от людей, которые делают для предотвращения конфликтов
- Мы контролируем программную среду, которая используется для разработки, тестирования и производства (читай; контроль изменений )
- Мы контролируем и управляем программным обеспечением, когда оно используется, отслеживаем проблемы и управляем им ( Отслеживание проблем )
- Мы ведем записи, так что даже если бы каждый вовлеченный в этот процесс пошел под автобусом / выиграл в лотерею, новые люди все равно могли бы защитить и доказать все вышеизложенное государственному инспектору.
Однако это большой список, и я представляю,Есть много отраслей, которые не все из них (финансы, образование) и, вероятно, некоторые, которые делают больше (строительство ядерных реакторов, спасение жизней, НАСА).
Более конкретно, что я предполагаю, что выПрежде чем приступить к написанию кода, вы сможете определить некоторые конкретные начальные входные данные и ответы, которые вы должны получить, и я рекомендую вам использовать что-то вроде RUnit или Testthat для их построения..