W tym artykule Przepełnienie stosu wymieniono dość kompleksową listę sytuacji, w których specyfikacja języka C / C ++ deklaruje, że jest „niezdefiniowanym zachowaniem”. Chcę jednak zrozumieć, dlaczego inne współczesne języki, takie jak C # lub Java, nie mają pojęcia „niezdefiniowane zachowanie”. Czy to oznacza, że projektant kompilatora może kontrolować wszystkie …
Czy ktoś może wyjaśnić konkretne powody, dla których BDFL decyduje się na utworzenie pojedynczej linii dla lambda Python? To jest dobre: lambda x: x**x Powoduje to błąd: lambda x: x**x Rozumiem, że stworzenie wieloliniowej linii lambda „zakłóciłoby” normalne zasady wcięć i wymagałoby dodania kolejnych wyjątków, ale czy nie jest to …
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?
Kiedy używasz narzędzi takich jak jsdocs , generuje on statyczne pliki HTML i ich style w bazie kodu na podstawie komentarzy w kodzie. Czy te pliki powinny być rejestrowane w repozytorium Git, czy powinny być ignorowane za pomocą .gitignore?
Jakiś czas temu napisałem tę odpowiedź na pytanie, w jaki sposób uniknąć pobierania i ustawiania każdej zmiennej zmiennej. W tym czasie miałem tylko trudne do zwerbowania przeczucie, że to zły pomysł, ale OP wyraźnie pytał, jak to zrobić. Szukałem tutaj, dlaczego może to stanowić problem, i znalazłem to pytanie , …
W ciągu ostatnich kilku lat powoli przechodziliśmy na stopniowo coraz lepszy kod, kilka kroków naraz. W końcu zaczynamy przestawiać się na coś, co przynajmniej przypomina SOLID, ale jeszcze tam nie jesteśmy. Od czasu dokonania zmiany, jednym z największych zarzutów ze strony programistów jest to, że nie mogą znieść recenzowania i …
Jaka jest zaleta zwracania wskaźnika do struktury w porównaniu do zwracania całej struktury w returninstrukcji funkcji? Mówię o funkcjach takich jak fopeni innych funkcjach niskiego poziomu, ale prawdopodobnie istnieją funkcje wyższego poziomu, które zwracają również wskaźniki do struktur. Uważam, że jest to raczej wybór projektowy niż tylko kwestia programowania i …
Przez trzy dni czytałem o wzorcach Model-View-Controller (MVC) i Model-View-Presenter (MVP) . I jedno pytanie bardzo mnie niepokoi. Dlaczego projektanci oprogramowania wymyślili MVP, skoro już istniał MVC? Jakie napotkali problemy, których MVC nie rozwiązało (lub rozwiązało źle), ale MVP może rozwiązać? Jakie problemy ma rozwiązać MVP? Czytałem wiele artykułów o …
Piszę program, który wymaga pracy ze współrzędnymi biegunowymi i kartezjańskimi. Czy ma sens tworzenie dwóch różnych struktur dla każdego rodzaju punktów, jeden z Xi Yczłonkowie, a drugi z Ri Thetaczłonkowie. Lub jest go zbyt dużo i lepiej jest mieć tylko jedną z struct firsti secondjako członków. To, co piszę, jest …
Słyszałem wiele razy, gdy inni programiści używają tego wyrażenia do „reklamowania” niektórych wzorców lub opracowywania najlepszych praktyk. Przez większość czasu ta fraza jest używana, gdy mówimy o korzyściach z programowania funkcjonalnego. Sformułowanie „łatwy do uzasadnienia” zostało użyte w obecnym brzmieniu, bez żadnego wyjaśnienia ani próbki kodu. Dla mnie staje się …
Obecnie pracuję nad projektem z organizacją w następujący sposób: Klient - Pobiera dane z głównego serwera za pośrednictwem interfejsu API REST. Serwer - żąda danych z różnych innych serwerów za pośrednictwem interfejsów API innych firm Interfejsy API innych firm - Usługi poza moją kontrolą, które dostarczają dane do serwera (Reddit, …
Załóżmy, że mam niestandardowy obiekt, Student : public class Student{ public int _id; public String name; public int age; public float score; } Oraz klasa Window , która służy do wyświetlania informacji o Uczniu : public class Window{ public void showInfo(Student student); } Wygląda całkiem normalnie, ale stwierdziłem, że Window …
Próbowałem wymyślić sposób na zadeklarowanie silnie typowanych typów maszynopisów, aby złapać pewną klasę błędów na etapie kompilacji. Często zdarza się, że wpisuję int w kilku typach id lub wektorze do pozycji lub prędkości: typedef int EntityID; typedef int ModelID; typedef Vector3 Position; typedef Vector3 Velocity; Może to uczynić cel kodu …
Typ dolny to konstrukcja występująca głównie w matematycznej teorii typów. Jest również nazywany pustym typem. Jest to typ, który nie ma wartości, ale jest podtypem wszystkich typów. Jeśli typ zwracany przez funkcję jest typem dolnym, oznacza to, że nie zwraca. Kropka. Może zapętla się na zawsze, a może rzuca wyjątek. …
Istnieje wiele przydatnych funkcji <algorithm>, ale wszystkie działają na „sekwencjach” - parach iteratorów. Na przykład, jeśli mam kontener i lubię na nim biegać std::accumulate, muszę napisać: std::vector<int> myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Gdy wszystko, co zamierzam zrobić, to: int sum = std::accumulate(myContainer, 0); Co jest w …
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.