Pytania otagowane jako readability

Czytelność mierzy łatwość odczytu i zrozumienia kodu.

14
Dlaczego tak wielu programistów uważa, że ​​wydajność, czytelność i łatwość konserwacji nie mogą współistnieć?
Odpowiadając na to pytanie , zacząłem się zastanawiać, dlaczego tak wielu programistów uważa, że ​​dobry projekt nie powinien uwzględniać wydajności, ponieważ wpłynie to na czytelność i / lub łatwość konserwacji. Uważam, że dobry projekt uwzględnia również wydajność w momencie pisania, i że dobry programista z dobrym projektem może napisać wydajny …

6
Dlaczego zagnieżdżone pętle są uważane za złą praktykę?
Mój wykładowca wspominał dziś, że możliwe jest „etykietowanie” pętli w Javie, aby można było się do nich odwoływać w przypadku pętli zagnieżdżonych. Sprawdziłem więc tę funkcję, ponieważ nie wiedziałem o niej, a w wielu miejscach, w których ta funkcja została wyjaśniona, pojawiło się ostrzeżenie, zniechęcające zagnieżdżone pętle. Naprawdę nie rozumiem …

9
podczas gdy (prawda) i łamanie pętli - anty-wzór?
Rozważ następujący kod: public void doSomething(int input) { while(true) { TransformInSomeWay(input); if(ProcessingComplete(input)) break; DoSomethingElseTo(input); } } Załóżmy, że proces ten obejmuje skończoną, ale zależną od danych wejściowych liczbę kroków; pętla została zaprojektowana tak, aby zakończyć się sama w wyniku działania algorytmu i nie jest zaprojektowana do działania w nieskończoność (dopóki …

16
Czy prostota zawsze poprawia czytelność?
Niedawno opracowywałem zestaw standardów kodowania dla naszej firmy. (Jesteśmy nowym zespołem działającym w nowym języku dla firmy). W pierwszym szkicu wyznaczyłem cel naszych standardów kodowania jako poprawę czytelności, łatwości konserwacji, niezawodności i wydajności. (Zignorowałem zapisywalność, przenośność, koszt, zgodność z poprzednimi standardami itp.) Jednym z moich celów podczas pisania tego dokumentu …




8
Czy istnieje paradygmat programowania, który promuje uczynienie zależności niezwykle oczywistymi dla innych programistów?
Pracuję w hurtowni danych, która pozyskuje wiele systemów za pośrednictwem wielu strumieni i warstw z zależnościami przypominającymi labirynt łączącymi różne artefakty. Prawie każdego dnia spotykam się z takimi sytuacjami: uruchamiam coś, to nie działa, przeglądam mnóstwo kodu, ale godziny później zdaję sobie sprawę, że udało mi się konceptualizować mapę procesu …

11
Unikaj operatora przyrostowego Postfix
Przeczytałem, że powinienem unikać operatora inkrementacji postfiksów ze względu na wydajność (w niektórych przypadkach). Ale czy to nie wpływa na czytelność kodu? W mojej opinii: for(int i = 0; i < 42; i++); /* i will never equal 42! */ Wygląda lepiej niż: for(int i = 0; i < 42; …

7
Podaj opcjonalne nazwy parametrów, nawet jeśli nie są wymagane?
Rozważ następującą metodę: public List<Guid> ReturnEmployeeIds(bool includeManagement = false) { } I następujące połączenie: var ids = ReturnEmployeeIds(true); Dla programistów, którzy są nowicjuszami w systemie, odgadnięcie, co się stało, byłoby dość trudne true. Najpierw najedź kursorem na nazwę metody lub przejdź do definicji (z których żadne nie jest dużym zadaniem). …

2
Filtrowanie pętli foreach z warunkiem gdzie vs klauzule ochronne
Widziałem, jak niektórzy programiści używają tego: foreach (var item in items) { if (item.Field != null) continue; if (item.State != ItemStates.Deleted) continue; // code } zamiast tego, gdzie normalnie użyłbym: foreach (var item in items.Where(i => i.Field != null && i.State != ItemStates.Deleted)) { // code } Widziałem nawet kombinację …

4
Czego powinny używać wtyczki: haczyki, wydarzenia lub coś innego?
Rozważ aplikację, która pozwala wtyczkom reagować na przebieg programu. Znam 2 sposoby na osiągnięcie tego: haczyki i wydarzenia 1. Haki Użyj wywołań, aby opróżnić funkcje wewnątrz głównego programu. Funkcje te można zastąpić za pomocą wtyczek. Na przykład Drupal CMS implementuje zaczepy dostępne dla modułów i motywów. Oto przykład implementacji hooka …

2
Czy dobrym pomysłem jest zapewnienie różnych sygnatur funkcji, które robią to samo?
Oto klasa C ++, która składa się z trzech wartości. class Foo{ //Constructor Foo(std::string, int, char); private: std::string foo; char bar; int baz; }; Wszystkie typy parametrów są różne. Mógłbym przeciążyć konstruktora, aby kolejność nie miała znaczenia. class Foo{ //Constructors Foo(std::string, char, int); Foo(std::string, int, char); Foo(char, int, std::string); Foo(char, …

7
Jak daleko powinien być „var” i zerowy operator koalescencyjny „??” być rozrywką bez ograniczania czytelności?
To pytanie zostało przeniesione z Code Review Stack Exchange, ponieważ można na nie odpowiedzieć na Software Engineering Stack Exchange. Migrował 8 lat temu . Wiem, że tytuł pytania jest bardzo subiektywny, ale spotkałem się z użyciem ??operatora przez moich rówieśników, gdzie jednocześnie nie byłem bardzo zadowolony / komfortowo z zastosowania …

12
Czy długie funkcje są dopuszczalne, jeśli mają wewnętrzną strukturę?
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ę …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.