Program CS mojej szkoły unika jakiejkolwiek wzmianki o programowaniu obiektowym, więc czytam sam, aby go uzupełnić - w szczególności Object Oriented Software Construction autorstwa Bertrand Meyer. Meyer wielokrotnie podkreśla, że klasy powinny ukrywać jak najwięcej informacji o ich implementacji, co ma sens. W szczególności wielokrotnie argumentuje, że atrybuty (tj. Statyczne, …
Obecnie nasza firma opracowuje aplikacje składające się głównie z serwerów Ruby on Rails i kilku różnych klientów REST, od systemów kiosków w Javie po urządzenia wbudowane w C / C ++ (oprócz interfejsów dla standardowych przeglądarek internetowych). Musimy rozszerzyć nasz zespół, a ponieważ nie udało nam się znaleźć dobrych starszych …
Czy w językach, w których niedozwolone jest podkreślanie literałów całkowitych , dobrym pomysłem jest utworzenie stałej dla 1 miliarda? np. w C ++: size_t ONE_BILLION = 1000000000; Z pewnością nie powinniśmy tworzyć stałych dla małych liczb, takich jak 100. Ale przy 9 zerach można łatwo pominąć zero lub dodać dodatkową …
Często spotykam następujące stwierdzenia / argumenty: Czyste funkcjonalne języki programowania nie dopuszczają efektów ubocznych (dlatego są mało przydatne w praktyce, ponieważ każdy przydatny program ma skutki uboczne, np. Gdy wchodzi w interakcję ze światem zewnętrznym). Czyste funkcjonalne języki programowania nie pozwalają na napisanie programu, który zachowuje stan (co sprawia, że …
Kolega poprosił mnie o jasne wyjaśnienie różnicy między zwykłym rozwojem a badaniami i rozwojem (R&D) i nie byłem w stanie tego zrobić. Po przeczytaniu Wikipedii wciąż nie mam dokładnej odpowiedzi. Według Wikipedii (nieznacznie zmodyfikowana): Istnieją dwa podstawowe modele: W jednym modelu podstawową funkcją jest opracowywanie nowych produktów ; w drugim …
Chcę dowiedzieć się o wartościach zerowych lub referencjach zerowych. Na przykład mam klasę o nazwie Apple i utworzyłem jej instancję. Apple myApple = new Apple("yummy"); // The data is stored in memory Potem zjadłem to jabłko i teraz musi być zerowe, więc ustawiłem je jako zerowe. myApple = null; Po …
Część 1 Oczywiście niezmienność minimalizuje potrzebę blokowania w programowaniu wieloprocesorowym, ale czy eliminuje tę potrzebę, czy też są przypadki, w których sama niezmienność nie wystarczy? Wydaje mi się, że można jedynie odroczyć przetwarzanie i enkapsulować stan tak długo, zanim większość programów będzie musiała coś ZROBIĆ (zaktualizować magazyn danych, wygenerować raport, …
Pytanie Gdzie powinienem umieścić funkcje niezwiązane z klasą wywołało debatę na temat tego, czy w C ++ sens ma łączenie funkcji narzędziowych w klasie, czy po prostu ich istnienie jako wolnych funkcji w przestrzeni nazw. Pochodzę z tła w języku C #, gdzie ta ostatnia opcja nie istnieje, a zatem …
Szukam pracy jako programista w języku Python. Znam podstawy języka i stworzyłem z nim kilka gier za pomocą pygame . Zacząłem także eksperymentować z Django . Jednak patrząc na rynek pracy, nie wydaje się, aby wiele zadań Pythona było związanych z siecią. Po stronie komputerów nie wydaje się, aby wiele …
Kiedy byłem na uniwersytecie, dowiedziałem się o zaletach UML i jego przyszłości w rozwoju kodu. Jednak z mojego doświadczenia w branży odkryłem, że chociaż używamy diagramów - od diagramów ER, diagramów klas, diagramów stanów, do diagramów przepływu pracy - wszystko to jest do celów komunikacyjnych. Oznacza to, że nigdy nie …
Załóżmy, że w prywatnej części klasy istnieje wartość, która jest wykorzystywana przez wiele prywatnych metod. Czy ludzie wolą zdefiniować tę zmienną jako zmienną składową klasy lub przekazać ją jako argument każdej z metod - i dlaczego? Z jednej strony widziałem argument, że należy zredukować stan (tj. Zmienne składowe) w klasie, …
Ludzie, którzy są przyzwyczajeni do bezużytecznych języków, często boją się zarządzania pamięcią przez C ++. Istnieją narzędzia, takie jak auto_ptri, shared_ptrktóre obsłużą wiele zadań zarządzania pamięcią. Wiele bibliotek C ++ poprzedza te narzędzia i ma swój własny sposób obsługi zadań zarządzania pamięcią. Ile czasu spędzasz na zadaniach związanych z zarządzaniem …
Ostatniej nocy dyskutowałem z innym programistą, że nawet jeśli coś może być O (1), operacja, która jest O (n), może przewyższyć to, jeśli w algorytmie O (1) jest duża stała. Nie zgodził się, więc przyniosłem to tutaj. Czy istnieją przykłady algorytmów, które znacznie przewyższają algorytmy w klasie poniżej? Na przykład …
Deskryptor „Engine” jest często używany: silnik graficzny, silnik RegEx, silnik AI itp., Ale co tak naprawdę czyni oprogramowanie silnikiem? Projekt, wejście / wyjście, cel, rozmiar?
Jaka jest różnica między idiomem a wzorcem projektowym? Wydaje się, że te terminologie gdzieś się pokrywają; gdzie dokładnie nie wiem. Czy są wymienne? Kiedy powinienem użyć czego? Oto lista idiomów C ++. Czy mogę nazwać je wzorami projektowymi? Wikipedia określa, Programowanie idiomu jako wzorca projektowego niskiego poziomu Co to znaczy? …
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.