Большая часть моей работы вращается вокруг диагностических тестов на туберкулез.Как вы можете себе представить, удобно иметь возможность быстро оценивать и проверять результаты этих тестов.Я написал функцию, которая делает именно это, здесь (урезано для ясности).Короче говоря, он берет числовые результаты теста и выдает указанную изготовителем интерпретацию.
Эта функция хорошо работает для меня - я проверил ее по тысячам тестов, и она достаточно быстра для любого броскана него.Однако я хотел бы объединить его и несколько аналогичных функций в пакет для более широкого использования, и я хотел бы получить некоторые отзывы об этом, прежде чем сделать это:
Функция зависит от большого цикла for, обернутого вокруг вложенных функций if-else.Это не особенно элегантно, и ужас for()
, несомненно, подрывает мое доверие к некоторым (хм), но это работает.Есть ли лучший подход к этому?Если да, то достаточно ли оправдать переписывание Code That Works?
Критерии в приведенной выше функции предназначены для интерпретации теста в Северной Америке;остальной мир следует немного другим стандартам.Я бы тоже хотел, чтобы они были в наличии.Я рассматриваю возможность создания отдельной неэкспортируемой функции для каждого.Различные проверки данных (исключенные из приведенной выше сущности) будут продолжать действовать в основной функции, которая затем будет вызывать указанную подфункцию.Это звучит разумно?
Любые другие предложения или советы?Стиль, организация кода - все что угодно.
Я понимаю, что, вероятно, мне следует просто вытолкнуть эту птенца из гнезда, но я работаю в основном в вакууме и поэтому немного нервничаю.Любой совет очень ценится.
Редактировать: если вы пропустили ссылку на суть, это функция, о которой я говорю .
Какзапрошено образец данных испытаний .