Niedawno rozpoczynając swoją pierwszą pracę jako programista, byłem trochę zaskoczony, gdy dowiedziałem się, że nie muszę przestrzegać żadnych konwencji nazewnictwa w kodzie. Kod napisany przez grupy pracujące nad innymi, większymi projektami był zgodny z konwencjami nazewnictwa, ale ponieważ zostałem zaangażowany w pisanie nowej, samodzielnej aplikacji, miałem wrażenie, że nie miało to szczególnego znaczenia. To był ostatni z moich zmartwień, więc po prostu wziąłem istniejącą konwencję i pobiegłem z nią.
int nTickCount
bool bConnected
object[] m_aItems
fSum += fWeight * fValue
class cManager
enum etSystemStates
etSystemStates eState
cManager.cs
Ale czy to się opłaca? Trudno mi ocenić efekt netto, jaki wynikający z tego rodzaju nazewnictwa ma na zrozumienie i wykrywanie błędów, ale wizualnie wygląda to trochę brzydko. Dodatkowo, posiadanie każdej klasy i pliku w projekcie o nazwie cSomething wydaje się bardzo dziwne.
Nie mam złudzeń, że jest to zdecydowanie wielka sprawa w porównaniu do rzeczy, które robią oczywistą różnicę, takich jak stosowane algorytmy i architektury. Ale każda konwencja, która ma wpływ na każdą linię kodu, którą piszę, wydaje się warta poprawienia.
Jaka jest najbardziej elegancka i skuteczna konwencja nazewnictwa, jeśli w ogóle trzeba ją zastosować? Czy oznacza typ i / lub zakres?