Trừ khi bạn dự đoán sẽ mở rộng phần này thành nhiều phần, tôi sẽ không muốn thêm cơ sở dữ liệu. Có một cơ sở dữ liệu có nghĩa là một đống lớn các thứ để học cho bạn và nhiều thứ khác để cài đặt để làm cho nó hoạt động cho người khác. Thêm một cơ sở dữ liệu nhúng sẽ giữ cho khả năng thực thi cuối cùng, nhưng ai đó với mã nguồn của bạn bây giờ có thêm một điều để làm việc.
Tôi nghĩ rằng một danh sách các hằng số được đặt tên rõ ràng và các hàm thực thi quy tắc sẽ giúp ích rất nhiều. Nếu bạn đặt mọi thứ tên tự nhiên và tập trung vào các kỹ thuật lập trình biết chữ, bạn sẽ có thể tạo ra một chương trình dễ đọc.
Lý tưởng nhất là bạn sẽ kết thúc với mã có nội dung:
LeftBearingHoleDepth = BearingWidth + HoleDepthTolerance;
if (not CheckPartWidth(LeftBearingHoleDepth, {other parameters})
{whatever you need to adjust}
Tùy thuộc vào cách các hằng số cục bộ mà tôi muốn khai báo chúng trong các hàm mà chúng được sử dụng ở những nơi có thể. Nó khá hữu ích để biến:
SomeAPICall(10,324.5, 1, 0.02, 6857);
vào
const NumberOfOilDrainHoles = 10
const OilDrainHoleSpacing = 324.5
{etc}
SomeAPICall(NumberOfOilDrainHoles, OilDrainHoleSpacing, {etc}
Điều đó cung cấp cho bạn phần lớn mã tự viết tài liệu và cũng khuyến khích bất kỳ ai sửa đổi mã để đặt tên có ý nghĩa tương tự với những gì họ thêm. Bắt đầu từ địa phương cũng giúp dễ dàng xử lý tổng số hằng số bạn sẽ tích lũy. Sẽ hơi khó chịu nếu bạn phải tiếp tục cuộn qua một danh sách dài các hằng số để đảm bảo giá trị là giá trị bạn muốn.
Một mẹo cho tên: đặt từ quan trọng nhất ở bên trái. Nó có thể không đọc khá tốt, nhưng nó làm cho việc tìm kiếm mọi thứ dễ dàng hơn. Hầu hết thời gian bạn đang nhìn vào một chiếc bệ và tự hỏi về bu-lông, không nhìn vào một cái bu-lông và tự hỏi nó làm ở đâu, vì vậy hãy gọi nó là SumpBoltThreadPitch chứ không phải BoltThreadPitchSump. Sau đó sắp xếp danh sách các hằng số. Sau đó, để trích xuất tất cả các nốt luồng, bạn có thể lấy danh sách trong trình soạn thảo văn bản và sử dụng chức năng tìm hoặc sử dụng một công cụ như grep để chỉ trả về các dòng có chứa "ThreadPitch".