Если вы не предполагаете расширить это на несколько частей, я бы неохотно добавил базу данных. Наличие базы данных означает большую кучу вещей, которые нужно изучить для вас, и больше вещей, которые нужно установить, чтобы заставить их работать для других людей. Добавление встроенной базы данных делает конечный исполняемый файл переносимым, но у кого-то с вашим исходным кодом теперь есть еще одна вещь, с которой нужно работать.
Я думаю, что список четко названных констант и функций реализации правил очень поможет. Если вы дадите все естественные имена и сосредоточитесь на грамотных методах программирования , вы сможете создать удобочитаемую программу.
В идеале вы получите код, который говорит:
LeftBearingHoleDepth = BearingWidth + HoleDepthTolerance;
if (not CheckPartWidth(LeftBearingHoleDepth, {other parameters})
{whatever you need to adjust}
В зависимости от того, насколько локальными являются константы, у меня возникнет соблазн объявить их в тех функциях, в которых они используются, где это возможно. Это довольно полезно, чтобы включить:
SomeAPICall(10,324.5, 1, 0.02, 6857);
в
const NumberOfOilDrainHoles = 10
const OilDrainHoleSpacing = 324.5
{etc}
SomeAPICall(NumberOfOilDrainHoles, OilDrainHoleSpacing, {etc}
Это дает вам в значительной степени самодокументированный код, а также поощряет любого, кто изменяет код, давать одинаково значимые имена тому, что они добавляют. Запуск local также облегчает работу с общим количеством констант, которые вы накопите. Это немного раздражает, если вам приходится постоянно прокручивать длинный список констант, чтобы убедиться, что значение соответствует желаемому.
Один совет для имен: поместите самое важное слово слева. Возможно, он не так хорошо читается, но облегчает поиск. Большую часть времени вы смотрите на отстойник и задаетесь вопросом о болте, не смотрите на болт и задаетесь вопросом, где он находится, поэтому назовите его SumpBoltThreadPitch, а не BoltThreadPitchSump. Затем отсортируйте список констант. Позже, чтобы извлечь все шаги потока, вы можете получить список в текстовом редакторе и либо использовать функцию поиска, либо использовать инструмент, такой как grep, чтобы возвращать только те строки, которые содержат «ThreadPitch».