Podczas pracy ze skomplikowanymi algorytmami w językach z obsługą funkcji zagnieżdżonych (takich jak Python i D) często piszę ogromne funkcje (ponieważ algorytm jest skomplikowany), ale łagodzę to, używając funkcji zagnieżdżonych do struktury skomplikowanego kodu. Czy ogromne (ponad 100 linii) funkcje są nadal uważane za złe, nawet jeśli mają wewnętrzną strukturę …
Mam bardzo proste pytanie, które mnie zaskakuje przez długi czas. Mam do czynienia z sieciami i bazami danych, więc wiele danych, którymi się zajmuję, to liczniki 32-bitowe i 64-bitowe (niepodpisane), 32-bitowe i 64-bitowe identyfikatory (również nie mają znaczącego odwzorowania znaku). Praktycznie nigdy nie mam do czynienia z prawdziwymi słowami, które …
Formatowanie kodu ma znaczenie. Nawet wcięcie ma znaczenie . A spójność jest ważniejsza niż drobne ulepszenia. Ale projekty zwykle nie mają jasnego, kompletnego, weryfikowalnego i egzekwowanego przewodnika stylu od pierwszego dnia, a poważne ulepszenia mogą nadejść każdego dnia. Może to znajdziesz SELECT id, name, address FROM persons JOIN addresses ON …
Często widzę projekty (w projektach Java i zespołach używających Eclipse), które poprzedzają parametry funkcji p. Na przykład public void filter (Result pResult) ... Osobiście nie widzę w tym żadnej korzyści, ale chciałbym wiedzieć, jakie jest uzasadnienie. Najlepsze wytłumaczenie, jakie do tej pory słyszałem, to rozróżnienie nazw identycznych nazwanych pól. Mam …
Ostatnio dyskutuję z pewnym współpracownikiem. Używamy C #, ale może to dotyczyć dowolnego języka z typami zerowalnymi. Powiedzmy na przykład, że masz wartość reprezentującą maksimum. Jednak ta maksymalna wartość jest opcjonalna. Twierdzę, że preferowana byłaby liczba zerowa. Mój współpracownik opowiada się za zastosowaniem zera, powołując się na precedens. To prawda, …
Pracuję z kimś, kto za każdym razem, gdy wywołuje funkcję, umieszcza argumenty w nowej linii, np aFunction( byte1, short1, int1, int2, int3, int4, int5 ) ; Uważam to za bardzo irytujące, ponieważ oznacza to, że kod nie jest zbyt kompaktowy, więc muszę skanować więcej w górę i w dół, aby …
Widziałem dwa style używania sizeofdo operacji związanych z pamięcią (takie jak w memsetlub malloc): sizeof(type), i sizeof variable lub sizeof(variable) Który wolisz, czy użyłbyś kombinacji dwóch stylów i kiedy używałbyś każdego z nich? Jakie są zalety i wady każdego stylu i kiedy go używasz? Jako przykład widzę następującą parę sytuacji, …
Ten pomysł pochodzi od tego pytania na stackoverflow.com Powszechny jest następujący wzór: final x = 10;//whatever constant value for(int i = 0; i < Math.floor(Math.sqrt(x)) + 1; i++) { //...do something } Chcę, aby stwierdzenie warunkowe było czymś skomplikowanym i nie zmienia się. Czy lepiej jest zadeklarować go w sekcji …
Ostatnio próbuję ogarnąć następujący fakt. Z jednej strony istnieje szereg wytycznych i standardów kodowania dla tego, co jest uważane za „zdrowe”, „czyste”, „dobrze napisane” i tak dalej. Zobacz też „Czysty kod”, który wydaje się być tutaj szeroko omawiany. Przykładowa reguła: metody o długości 7 linii i 1 lub 2 poziomy …
Powiedzmy, że mam klasę wroga, a konstruktor wyglądałby mniej więcej tak: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Wygląda to źle, ponieważ konstruktor ma tak wiele parametrów, ale kiedy tworzę instancję wroga, muszę określić wszystkie te rzeczy. Chcę również …
To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć w programie Software Engineering Stack Exchange. Migrował 7 lat temu . Zastanawiam się, czy ktoś ma dobrą konwencję w tej sprawie. Naprawdę używam Javy, ale doszedłem do wniosku, że ludzie z C # również mogą mieć dobry wgląd. …
Często używam wzorca, w którym używam łączenia łańcuchowego do ustawiania obiektu, podobnego do wzoru Builderlub Prototype, ale nie tworzę nowych obiektów przy każdym wywołaniu metody, zamiast tego modyfikując oryginalny obiekt. Przykład: new Menu().withItem("Eggs").withItem("Hash Browns").withStyle("Diner"); Zastanawiam się tylko, czy istnieje nazwa tego wzorca i czy jest on uważany za anty-wzorzec, ponieważ …
Chcesz poprawić ten post? Podaj szczegółowe odpowiedzi na to pytanie, w tym cytaty i wyjaśnienie, dlaczego Twoja odpowiedź jest poprawna. Odpowiedzi bez wystarczającej ilości szczegółów mogą być edytowane lub usuwane. To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć w programie Software Engineering Stack Exchange. Migrował 8 …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
Obecnie pracuję nad projektem Groovy / Grails (w którym jestem całkiem nowy) i zastanawiam się, czy dobrą praktyką jest pominięcie returnsłowa kluczowego w metodach Groovy. O ile wiem, musisz jawnie wstawić słowo kluczowe, np. Dla klauzul ochronnych, więc czy należy go używać także wszędzie indziej? Moim zdaniem dodatkowe returnsłowo kluczowe …
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.