W dawnych czasach robiliśmy zapis węgierski. To jest teraz uważane za passé i przez większość czasu już go nie używam, ale nadal znajduję zastosowanie m_
prefiksu do wskazania pól członków.
Dla mnie, jeśli czytam czyjś kod i widzę to:
count = 3;
Zakładam, że count
jest to zmienna lokalna dla tej funkcji i robię coś, co zostanie użyte w innym miejscu funkcji; jeśli to zobaczę:
m_count = 3;
Natychmiast zdaję sobie sprawę, że aktualizuję stan obiektu.
Wytyczne stylu Microsoft mówią, że to zły sposób na robienie rzeczy. Mam do nazwania moje niepubliczne pola dokładnie tak, jak zmienne tymczasowe zdefiniowane w funkcji. Nie m_
, nawet prosty podkreślnik.
Tak, możemy zdefiniować własny styl kodowania, ale potem muszę zmagać się z różnymi narzędziami do analizy kodu statycznego, aby przekonać ich, że nasz sposób robienia rzeczy jest OK.
Cieszę się, że zmieniłem styl Microsoft, ale chciałbym wiedzieć, dlaczego wszystko jest tak, jak jest.
Dlaczego uważa się teraz za zły fakt, że można stwierdzić, czy zmienna jest funkcją lokalną czy członkiem?
PS Jest to bardzo podobne do Jakie są obecnie uważane najlepsze praktyki dotyczące słowa kluczowego „this” przed polem i metod w c #? , ale pytam o m_
niethis.
PPS Zobacz także Dlaczego Microsoft sprawił, że parametry, zmienne lokalne i pola prywatne mają tę samą konwencję nazewnictwa nazw?
count
nie pojawiło się nie wiadomo skąd, ponieważ nie zostało zadeklarowane w metodzie. Szczerze mówiąc argument „poza IDE” jest NAPRAWDĘ słaby. Zwłaszcza, że istnieją nawet narzędzia do przeglądania kodu, które działają w IDE.
this
słowa kluczowego? Czy nie możesz odwoływać się do członków korzystającychthis
, takich jakthis.count
?