Wczoraj odbyłem gorącą debatę ze współpracownikiem na temat preferowanej metody zgłaszania błędów. Przede wszystkim omawialiśmy wykorzystanie wyjątków lub kodów błędów do zgłaszania błędów między warstwami aplikacji lub modułami. Jakich reguł używasz, aby zdecydować, czy zgłaszać wyjątki, czy zwracać kody błędów na potrzeby raportowania błędów?
Wiem, że dziedziczenie wielokrotne nie jest dozwolone w Javie i C #. Wiele książek po prostu mówi, że wielokrotne dziedziczenie jest niedozwolone. Ale można to zaimplementować za pomocą interfejsów. Nic nie jest omawiane na temat tego, dlaczego jest to niedozwolone. Czy ktoś może mi dokładnie powiedzieć, dlaczego jest to zabronione?
Wydaje się, że składnia inicjatora obiektu C # 3.0 pozwala wykluczyć parę nawiasów otwierających / zamykających w konstruktorze, gdy istnieje konstruktor bez parametrów. Przykład: var x = new XTypeName { PropA = value, PropB = value }; W przeciwieństwie do: var x = new XTypeName() { PropA = value, PropB …
Wygląda to dziwnie, szczególnie dla programistów C ++. W C ++ oznaczaliśmy parametr jako const, aby mieć pewność, że jego stan nie zostanie zmieniony w metodzie. Istnieją również inne specyficzne powody C ++, takie jak przekazywanie const refw celu przejścia przez ref i upewnienia się, że stan nie zostanie zmieniony. …
Jaka jest użyteczność słowa kluczowego global ? Czy są jakieś powody, aby preferować jedną metodę od drugiej? Bezpieczeństwo? Występ? Coś jeszcze? Metoda 1: function exempleConcat($str1, $str2) { return $str1.$str2; } Metoda 2: function exempleConcat() { global $str1, $str2; return $str1.$str2; } Kiedy warto używać global? Dla mnie wydaje się to …
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, 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, aby uzyskać …
Jeśli mam metodę vararg Java foo(Object ...arg)i wywołuję foo(null, null), mam obie arg[0]i arg[1]jako nulls. Ale jeśli dzwonię foo(null), argsamo w sobie jest zerowe. Dlaczego to się dzieje? Jak mam nazwać to foo, co foo.length == 1 && foo[0] == nulljest true?
W C ++ operator ::służy do uzyskiwania dostępu do klas, funkcji i zmiennych w przestrzeni nazw lub klasie. Jeśli specyfikacja języka zastosowana .zamiast ::w tych przypadkach jest zbyt podobna do uzyskiwania dostępu do zmiennych instancji / metod obiektu, to czy spowodowałoby to możliwe niejasności, których nie ma ::? Biorąc pod …
Jednym z podstawowych typów danych w R są współczynniki. Z mojego doświadczenia wynika, że czynniki są w zasadzie uciążliwe i nigdy ich nie używam. Zawsze konwertuję na postacie. Dziwnie czuję, że czegoś mi brakuje. Czy istnieją ważne przykłady funkcji, które wykorzystują czynniki jako zmienne grupujące, w przypadku których typ danych …
Dlaczego przyjaźń nie jest przynajmniej opcjonalnie dziedziczona w C ++? Rozumiem, że przechodniość i refleksyjność są zabronione z oczywistych powodów (mówię to tylko po to, by odrzucić proste odpowiedzi na FAQ), ale brak czegoś w rodzaju virtual friend class Foo;zagadek mnie zaskakuje. Czy ktoś zna historyczne tło tej decyzji? Czy …
Dlaczego kompilator nie umieszcza automatycznie instrukcji break po każdym bloku kodu w przełączniku? Czy to z powodów historycznych? Kiedy chciałbyś wykonać wiele bloków kodu?
Widzę tutaj kilka interesujących dyskusji na temat pisania statycznego i dynamicznego. Generalnie wolę wpisywanie statyczne, ze względu na sprawdzanie typów kompilacji, lepiej udokumentowany kod itp. Zgadzam się jednak, że zaśmiecają one kod, jeśli są robione tak, jak robi to na przykład Java. Więc zaraz zacznę budować własny funkcjonalny język stylów, …
Dzisiaj, kiedy losowo czytałem książkę O'Reilly o wzorach JavaScript, znalazłem jedną interesującą rzecz (strona 27 w celach informacyjnych). W JavaScript w niektórych przypadkach istnieje różnica, jeśli lokalizacja początkowa nawiasów klamrowych jest inna. function test_function1() { return { name: 'rajat' }; } var obj = test_function1(); alert(obj); //Shows "undefined" Podczas function …
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.