A menos que anticipe extender esto a varias partes, aún no me gustaría agregar una base de datos. Tener una base de datos significa un montón de cosas que aprender para ti y más cosas que instalar para que funcione para otras personas. Agregar una base de datos incrustada mantiene el archivo ejecutable final portátil, pero alguien con su código fuente ahora tiene una cosa más para comenzar a trabajar.
Creo que una lista de constantes claramente nombradas y funciones de implementación de reglas ayudará mucho. Si le da a todo nombres naturales y se enfoca en técnicas de programación alfabetizadas , debería poder hacer un programa legible.
Idealmente, terminarás con un código que dice:
LeftBearingHoleDepth = BearingWidth + HoleDepthTolerance;
if (not CheckPartWidth(LeftBearingHoleDepth, {other parameters})
{whatever you need to adjust}
Dependiendo de cuán locales sean las constantes, me vería tentado a declararlas en las funciones en las que se usan cuando sea posible. Es bastante útil convertir:
SomeAPICall(10,324.5, 1, 0.02, 6857);
dentro
const NumberOfOilDrainHoles = 10
const OilDrainHoleSpacing = 324.5
{etc}
SomeAPICall(NumberOfOilDrainHoles, OilDrainHoleSpacing, {etc}
Eso le proporciona en gran medida un código autodocumentado y también alienta a cualquier persona que modifique el código a dar nombres igualmente significativos a lo que agregan. Comenzar local también facilita el manejo del número total de constantes que acumulará. Se vuelve un poco molesto si tiene que seguir desplazándose por una larga lista de constantes para asegurarse de que el valor sea el que desea.
Un consejo para los nombres: ponga la palabra más importante a la izquierda. Puede que no se lea tan bien, pero hace que encontrar las cosas sea más fácil. La mayoría de las veces estás mirando un sumidero y te preguntas sobre el perno, no miras un perno y te preguntas dónde está, así que llámalo SumpBoltThreadPitch, no BoltThreadPitchSump. Luego ordena la lista de constantes. Más tarde, para extraer todos los tonos de hilo, puede obtener la lista en un editor de texto y usar la función de búsqueda, o usar una herramienta como grep para devolver solo las líneas que contienen "ThreadPitch".