Tutaj http://source.android.com/source/code-style.html#follow-field-naming-conventions stwierdza się, że:Wskazówki dotyczące prywatnego nazywania pól Android są w porządku?
polowe Nazwy
- niepubliczne, nie-statyczne nazwy pól zacząć m.
- Nazwy pól statycznych zaczynają się od s.
- Inne pola rozpoczynają się od małej litery.
- Publiczne statyczne pola końcowe (stałe) to ALL_CAPS_WITH_UNDERSCORES.
Stwierdza również, że:
Poniższe zasady nie są wytyczne lub zalecenia, ale surowe zasady. Nie wolno lekceważyć zasad, które wymieniamy poniżej, z wyjątkiem tych zatwierdzonych na podstawie potrzeby użycia.
Nie podoba mi się konwencja "m" przed polami prywatnymi lub pakietowymi w klasie. Naprawdę uważam to za mało inspirujące ... to znaczy, jeśli spróbujemy zastosować dobre projekty, niskie sprzężenie klas oznacza posiadanie kilku pól publicznych. właściwie, w moich programach zazwyczaj nie mam pól publicznych, nawet gdy potrzebuję trochę używam programów pobierających i ustawiających ...
Dlaczego więc powinienem być zmuszony do posiadania prawie wszystkich pól w programie z "m"? przed nimi? nie byłoby łatwiej mieć kilka pól publicznych, jeśli są jakieś, z pewnym "g" z przodu czy coś takiego? lub po prostu użyć ustawiających i pobierających, jak sugerują fasola? to sprawia, że mój kod jest trudniejszy do odczytania ...
Ponadto, zgodnie z tymi wskazówkami, lokalne zmienne temp stosowane w tych metodach nie mają ograniczeń, więc można je łatwo pomylić z publicznymi globalnymi polami (również bez ograniczeń). to też uważam za błędne, ponieważ jest prawdopodobnym źródłem błędów ... Rozumiem, że mam sposób odróżniania od pól, ale prywatne/chronione pola członkowskie są najczęściej używane w aplikacji, nie powinny być mniej "czytelny".
Co myślisz? Czy powinienem przestrzegać wytycznych?
Jednym z powodów, dla których prefiksy takie jak ten często obowiązują, jest zapobieganie ukrywaniu pól elementów. Na przykład często masz parametr konstruktora lub metody ustawiającej, która jest taka sama jak pole członka, jeśli nie masz żadnych prefiksów. W takich przypadkach musisz uzyskać dostęp do pola członka za pomocą "tego". przed nim, gdy jest ukryty. Programiści czasami zapominają "to", co prowadzi do błędów. Prefiks na polach publicznych nie jest tak użyteczny, ponieważ i tak nie ma potrzeby, aby osoba prowadząca znajdowała się na polu publicznym. –
Właściwie wolę prefiks m_ na prywatnych polach, ponieważ ułatwia to czytanie klas. Konwencje te są używane, ponieważ kod jest czytany bardziej niż napisany ... Myślę, że to w Code Complete somwhere? ... –
Zgadzam się z tobą .. Nie podoba mi się konwencja "m" i szczęśliwie jej nie używam – hendrix