Stało się to wielką frustracją z bazą kodu, nad którą obecnie pracuję; wiele z naszych zmiennych jest krótkich i nieopisowych. Jestem jedynym programistą, który pozostał w projekcie i nie ma dokumentacji dotyczącej tego, co większość z nich robi, więc muszę poświęcić dodatkowy czas na śledzenie tego, co reprezentują.
Na przykład czytałem kod, który aktualizuje definicję powierzchni optycznej. Zmienne ustawione na początku były następujące:
double dR, dCV, dK, dDin, dDout, dRin, dRout
dR = Convert.ToDouble(_tblAsphere.Rows[0].ItemArray.GetValue(1));
dCV = convert.ToDouble(_tblAsphere.Rows[1].ItemArray.GetValue(1));
... and so on
Może to tylko ja, ale w zasadzie nic nie powiedziałem o tym, co reprezentowali, co utrudniło zrozumienie kodu. Wiedziałem tylko, że gdzieś była to zmienna parsująca określony wiersz z określonej tabeli. Po kilku poszukiwaniach dowiedziałem się, co mieli na myśli:
dR = radius
dCV = curvature
dK = conic constant
dDin = inner aperture
dDout = outer aperture
dRin = inner radius
dRout = outer radius
Zmieniłem ich nazwy na to, co tam mam. Wydłuża niektóre linie, ale wydaje mi się, że to sprawiedliwy kompromis. Tego rodzaju schemat nazewnictwa jest jednak używany w wielu częściach kodu. Nie jestem pewien, czy to artefakt od programistów, którzy nauczyli się, pracując ze starszymi systemami, czy może kryje się za tym głębszy powód. Czy istnieje dobry powód, aby nazwać zmienne w ten sposób, czy też mam uzasadnienie, aby zaktualizować je do bardziej opisowych nazw, gdy je napotykam?
dK = conic constant
.