Якщо ви не плануєте розширити це на декілька частин, я би поки не бажав додавати базу даних. Наявність бази даних означає велику групу речей, які слід дізнатися для вас, і більше речей, які потрібно встановити, щоб вони працювали для інших людей. Додавання вбудованої бази даних зберігає остаточний виконуваний файл, але у когось із початковим кодом є ще одна справа.
Я думаю, що список чітко названих констант і функцій, що застосовують правила, допоможе дуже багато. Якщо ви дасте все природні імена та зосереджуєтесь на грамотних методах програмування , ви повинні мати можливість читати програму.
В ідеалі ви отримаєте код, який говорить:
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}
Це дає вам значною мірою самодокументування коду, а також заохочує всіх, хто модифікує код, давати аналогічні значущі імена тому, що вони додають. Якщо запустити локальний, це також полегшує роботу з загальною кількістю констант, які ви накопичите. Це стає трохи дратівливим, якщо вам доведеться постійно прокручувати довгий список констант, щоб переконатися, що значення саме те, що ви хочете.
Одна порада для імен: поставте найважливіше слово зліва. Він може не читати також, але це полегшує пошук речей. Більшу частину часу ви дивитесь на відстійник і дивитесь на болт, не дивлячись на болт і цікавитесь, де це робиться, тому називайте це SumpBoltThreadPitch, а не BoltThreadPitchSump. Потім сортуйте список констант. Пізніше, щоб витягнути всі нарізки потоку, ви можете отримати список у текстовому редакторі та або скористатися функцією пошуку, або скористатися інструментом типу grep, щоб повернути лише рядки, що містять "ThreadPitch".