Pytania oznaczone «design»

76
Dlaczego przepełnienie arytmetyczne jest ignorowane?

Czy kiedykolwiek próbowałeś zsumować wszystkie liczby od 1 do 2 000 000 w swoim ulubionym języku programowania? Wynik można łatwo obliczyć ręcznie: 2 000 001 000 000, czyli około 900 razy więcej niż maksymalna wartość 32-bitowej liczby całkowitej bez znaku. Drukuje się C # -1453759936- wartość...

73
Czy powinienem pójść normalną ścieżką, czy wcześnie zawieść?

Z książki Code Complete pochodzi następujący cytat: „Postaw normalną przypadek po, ifa nie po else” Co oznacza, że ​​należy wprowadzić wyjątki / odchylenia od standardowej ścieżki else. Ale Pragmatic Programmer uczy nas „wcześnie upaść” (s. 120). Jakiej zasady powinienem...

73
Projektowanie interfejsu API REST przez URI vs ciąg zapytania

Powiedzmy, że mam trzy podobne zasoby: Grandparent (collection) -> Parent (collection) -> and Child (collection) Powyżej przedstawia relację między tymi zasobami w następujący sposób: Każdy dziadek może odwzorować jednego lub kilku rodziców. Każdy rodzic może przypisać jedno lub więcej...

72
Dlaczego warto korzystać z klas cząstkowych?

W moim rozumieniu partialsłowo kluczowe nie pozwala na podział klasy na kilka plików źródłowych. Czy jest jakiś inny powód do tego niż organizacja kodu? Widziałem to używane w generowanych klasach interfejsu użytkownika. Wydaje się, że to zły powód, aby utworzyć całe słowo kluczowe. Jeśli klasa...

72
SQL: pusty ciąg vs NULL

Wiem, że ten temat jest nieco kontrowersyjny i po Internecie płynie wiele różnych artykułów / opinii. Niestety większość z nich zakłada, że ​​osoba nie wie, jaka jest różnica między NULL a pustym ciągiem. Opowiadają więc historie o zaskakujących wynikach z łączeniami / agregacjami i generalnie...

67
W jaki sposób niektóre społeczności językowe (np. Ruby i Python) były w stanie zapobiec fragmentacji, podczas gdy inne (np. Lisp lub ML) nie były?

Termin „Lisp” (lub „Lisp-like”) jest parasolem obejmującym wiele różnych języków, takich jak Common Lisp, Scheme i Arc. Podobne rozdrobnienie występuje w innych społecznościach językowych, takich jak ML. Jednak Ruby i Python zdołali uniknąć tego losu, w którym innowacje pojawiły się częściej przy...