Wiem o regułach dotyczących wielbłądów, ale jestem mylony z tą zasadą. Co to oznacza? Jestem programistą PHP. „Używamy” pierwszych liter zmiennych jako wskazania typu, takich jak „b” dla wartości logicznej, „i” dla liczby całkowitej i tak dalej.
Czy „m” to Java? Czy to oznacza telefon komórkowy? mieszany?
android
coding-style
pambuk
źródło
źródło
Odpowiedzi:
Notacja pochodzi od Wytycznych stylu dla AOSP (Android Open Source Project) dla autorów :
Pamiętaj, że połączony przewodnik po stylu dotyczy kodu, który można wnieść do projektu Android Open Source.
To nie jest przewodnik po stylu dla kodu poszczególnych aplikacji na Androida.
źródło
computedValues
...”Wiele linii przewodnich kodowania używa m dla „członków” klasy. Więc kiedy programujesz, możesz zobaczyć różnicę między zmiennymi lokalnymi a zmiennymi składowymi.
źródło
m
przedrostek.Co to jest mprefiks?
moznacza element członkowski zmiennej lub element danych. Użyj mprzedrostka dla pól niepublicznych i niestatycznych.
Kiedy użyć?
Kiedy nie używać?
Co robię?
Osobiście nie używam tego. To sprawia, że kod jest bardziej skomplikowany i chaos czytelności. Jeśli nadal używasz Notatnika do kodowania, nie mam słów, ale nowoczesne IDE potrafią wyróżniać i kolorować zmienne składowe i lokalne lub cokolwiek innego.
Wniosek
Posługiwać się? „Tak” lub „Nie” to twój osobisty wybór.
źródło
public static int
, ale użyjs
zamiastm
:public static int sFirstNumber;
patrz stackoverflow.com/a/49453184/7767664Jeśli są to zmienne składowe w klasach, „m” oznacza „członek”. Wielu programistów Java robi to, chociaż w nowoczesnych IDE nie jest to konieczne, ponieważ masz podświetlenie, myszy na etykietach itp.
źródło
Według książki Clean Code nie jest to czysty kod.
źródło
Jeśli masz problemy, takie jak
Nie zapomnij zrobić dalej ( Ustawienia / Edytor / Styl kodu / Java / Generowanie kodu ):
Aktualizacja: nie używamy czegoś takiego w Kotlin (więc lepiej się na to przełączyć i nie używać już prefiksów)
źródło
Sądzę, że konwencje kodu są bardzo indywidualne. Wolę nazywać moje zmienne następującymi prefiksami:
Ale myślę, że każdy programista ma swój własny styl.
źródło
Aby udowodnić, że zdecydowanie nie powinieneś traktować tej konwencji nazewnictwa zmiennych w kodzie, przekazuję zrzut ekranu z nadrzędnego Android Studio poniżej.
Znajdź te zmienne wewnątrz obiektu specjalnie posortowane, aby umieścić zmienne m niższe niż zmienne rodzime . Dlatego nazywając je w kodzie prefiksem „m”, ukrywasz je przed sobą .
źródło
Jedną z korzyści, jakie znalazłem w tym stylu kodu, jest to, że podczas automatycznego uzupełniania niektórych odniesień do zmiennej wiem, że mogę wpisać „m”, aby zobaczyć tylko zmienne składowe.
źródło
Jak wspomniano wcześniej, jest on zaprojektowany dla innej zmiennej. Ale jest również bardzo przydatny do generowania kodu. Jeśli naciśniesz „Alt + Insert”, zobaczysz okna dla najpopularniejszych właściwości generowania kodu. Jeśli chcesz wygenerować metodę „get” dla swojej zmiennej, otrzymasz.
Ale jeśli zadeklarujesz „m, s”, otrzymasz:
Zostanie automatycznie wygenerowany i „m” lub „s” usunięte z twojego konstruktora, pobierz, ustaw nazwę metody. Po tym „get” i „set” dla pola zostaną wygenerowane bez „m”. Andoroid Fle-> Setting-> Code Style-> Java-> Code Genenretion. I zrób jak na zdjęciu. Może to pomoże. Przepraszam za mój eng. Skonfiguruj Androida
źródło
Wydaje się, że niektórzy wcześni inżynierowie z Androidem / Google preferowali rozpoczynanie zmiennych członkowskich od „m”, więc oni to zalecili.
Teraz ta zasada jest przymuszana do gardła programistów w firmach, które nie są ani współpracownikami AOSP, tylko dlatego, że ta strona jest uważana za reguły stylu kodu Android. Zasada ta ma niewiele, jeśli w ogóle, korzyści. Google powinien rozważyć jego usunięcie. W przeciwnym razie należy określić, że w przypadku aplikacji na Androida, które reguły stylu kodu są opcjonalne.
Dodaj komentarz do pomocy w tej petycji, aby usunąć regułę https://code.google.com/p/android/issues/detail?id=226814
źródło
Ze względu na czytelność nie należy już stosować konwencji
m
zmiennych zmiennych is
pól statycznych, jeśli używasz nowoczesnego środowiska IDE, takiego jak Android Studio. Android Studio może rozróżniać te bez dodawaniam
lubs
.źródło
Można również stwierdzić, że oznacza „moje”, ponieważ w klasie / instancji jest powiedziane „Ta zmienna jest moja i nikt inny nie może się do niej dostać”. Różni się od statycznego, który chociaż może być dostępny tylko dla klasy, jest współużytkowany przez wszystkie instancje tej klasy. Na przykład, jeśli rysujesz koła, musisz wiedzieć, jak duży jest promień każdego koła
ale jednocześnie chcesz, aby licznik śledził wszystkie koła, wewnątrz klasy koła, którą możesz mieć
a następnie po prostu mieć członków statycznych, aby zwiększyć i zmniejszyć liczbę kręgów, które obecnie masz.
źródło
Oto konwencje nazewnictwa,
Przykład:
źródło