Kiedyś bardzo ważne były krótkie nazwy instrukcji / rejestru. Te powody już nie obowiązują, ale krótkie tajemnicze nazwy są nadal bardzo powszechne w programowaniu niskiego poziomu. Dlaczego to? Czy tylko dlatego, że stare nawyki trudno przełamać, czy są lepsze powody? Na przykład: Atmel ATMEGA32U2 (2010): TIFR1(zamiast TimerCounter1InterruptFlag), ICR1H(zamiast InputCapture1High), DDRB(zamiast …
Zawsze trudno mi wybierać formy w liczbie pojedynczej i mnogiej dla nazw klas: CustomerRepository vs. CustomersRepository CustomerService vs. CustomersService CustomerController vs. CustomersController A w przypadku nazw złożonych jest to jeszcze trudniejsze: OrderCustomerRepository vs. OrderCustomersRepository vs. OrdersCustomersRepository Jakie podejście preferujesz i dlaczego?
Wydaje się, że konsensus jest zgodny z konwencją platformy, dla której opracowują. Widzieć: Podkreślenie lub camelcase? Konwencje nazewnictwa: camelCase kontra underscore_case? Jednak PHP nie wydają się ściśle przestrzegać żadnych konwencji wewnętrznie (nie ma żadnych niespodzianek), nawet w przypadku metod i funkcji (np mysqli::set_local_infile_default, PDOStatement::debugDumpParams); jednak podkreślenia wydają się dominować w …
Czy zawsze powinienem używać isjako prefiksu dla zmiennych logicznych? Co z booleanami, które wskazują coś w przeszłości? Powinienem napisać isInitializedczy wasInitialized? Czy powinienem pisać o nieruchomościach IsManyMembersczy HasManyMembers? Czy są jakieś najlepsze praktyki? Czy powinienem po prostu pisać zgodnie z angielskimi przepisami?
Zetknąłem się z problemem związanym z przypadkami narożnymi z ogólnymi wskazówkami: rzeczowniki dla zmiennych czasowniki dla funkcji W szczególności mam przypadek, w którym słowo jest dwuznaczne - może to być czasownik lub rzeczownik. W niektórych przypadkach, gdy omawiamy aplikację, będzie ona używana w obie strony w tym samym zdaniu. Moim …
Zawsze mam problem z ustaleniem, czy powinienem nazwać określoną metodę zaczynającą się od getSomethingkontra findSomething. Problem polega na tworzeniu pomocników dla źle zaprojektowanych interfejsów API. Dzieje się tak zwykle podczas pobierania danych z obiektu, który wymaga obiektu jako parametru. Oto prosty przykład: public String getRevision(Item item) { service.load(item, "revision"); // …
Często widzę kod, który zawiera umyślne błędy pisowni popularnych słów, które na lepsze lub gorsze stały się słowami zastrzeżonymi: klasslub clazzna zajęcia :Class clazz = ThisClass.class kountdo zliczenia w SQL:count(*) AS kount Osobiście uważam, że zmniejsza to czytelność. W mojej własnej praktyce nie znalazłem zbyt wielu przypadków, w których nie …
Często, gdy składnia języka wymaga, abym nazwał zmienną, która nigdy nie jest używana, nadam jej nazwę _. Moim zdaniem zmniejsza to bałagan i pozwala skupić się na znaczących zmiennych w kodzie. Uważam, że jest dyskretny, dlatego wywołuje efekt „poza zasięgiem wzroku, poza zasięgiem umysłu”. Typowym przykładem tego, co robię, jest …
Czy dobrą praktyką jest wywoływanie zmiennej, którą metoda zwraca z nazwą zmiennej result? Na przykład: public Zorglub calculate() { Zorglub result = [...] [...] return result; } Czy powinienem to nazwać według rodzaju? public Zorglub calculate() { Zorglub zorglub = [...] [...] return zorglub; } Widziałem oba na wolności, jeśli …
Czy metody boolowskie powinny zawsze przyjmować formę twierdzącą, nawet jeśli kiedykolwiek będą stosowane tylko w formie negatywnej? Powiedzmy, że chciałem sprawdzić, czy istnienie istnieje przed utworzeniem jednego, moim argumentem jest to, że pierwsza forma poniżej jest lepsza niż druga forma, niezależnie od tego, czy metoda jest kiedykolwiek używana w formie …
Nie jestem pewien, co zrobić z następującymi elementami: Pobieramy dane z zewnętrznego narzędzia w ramach naszego własnego narzędzia. Te dane są napisane w języku niderlandzkim. Piszemy nasz kod Java w języku angielskim. Czy powinniśmy przetłumaczyć ten holenderski na angielski, czy zachować go w języku holenderskim? Na przykład mamy 2 działy: …
Wyciągnąłem stąd termin nazywanie smerfa (numer 21). Aby zaoszczędzić każdemu, kto nie zna problemu, nazewnictwo Smurf polega na prefiksowaniu szeregu powiązanych klas, zmiennych itp. Wspólnym przedrostkiem, aby uzyskać „a SmurfAccountViewprzechodzi SmurfAccountDTOna SmurfAccountController” itd. Rozwiązaniem, o którym ogólnie słyszałem, jest utworzenie przestrzeni nazw smurf i upuszczenie przedrostków smurf. To ogólnie mi …
Czy wystarczy, aby metody można było rozróżnić tylko według nazwy argumentu (a nie typu), czy lepiej nazwać ją bardziej jednoznacznie? Na przykład T Find<T>(int id)vs T FindById<T>(int id). Czy jest jakiś dobry powód, aby nazwać go bardziej jawnie (tj. Dodając ById), zamiast utrzymywać tylko nazwę argumentu? Jednym z powodów, o …
Istnieje kilka nazw, w przypadku których sięgasz po te nazwy, wiesz, że już coś pomieszałeś. Na przykład: XxxManager Jest to złe, ponieważ klasa powinna opisywać, co robi klasa. Jeśli najbardziej konkretnym słowem, jakie można wymyślić dla tego, co robi klasa, jest „zarządzać”, to klasa jest zbyt duża. Jakie inne anty-wzorce …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.