Inżynieria oprogramowania

Pytania i odpowiedzi dla profesjonalistów, nauczycieli akademickich i studentów pracujących w cyklu życia systemów

12
Dokumentacja w OOP powinna unikać określania, czy „osoba pobierająca” wykonuje jakieś obliczenia?
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, …

3
Jak szkolić młodszych programistów w dzisiejszym (skomplikowanym) środowisku internetowym?
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 …

13
Czy w językach, które nie zezwalają na podkreślenia w liczbach całkowitych, dobrą praktyką jest tworzenie stałej dla 1 miliarda?
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ą …

2
Błędne wyobrażenia o językach funkcjonalnych?
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 …

6
Jaka jest różnica między rozwojem a badaniami i rozwojem?
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 …

4
Gdzie są przechowywane wartości zerowe, czy w ogóle są przechowywane?
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 …
39 memory  null 

5
Czy niezmienność całkowicie eliminuje potrzebę blokowania w programowaniu wieloprocesorowym?
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, …


14
Jak Python jest używany w prawdziwym świecie? [Zamknięte]
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 …
39 python 

11
Czy kod jest często generowany z UML? [Zamknięte]
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 …
39 uml  diagrams  visio 

6
Wolisz członków klasy lub przekazywanie argumentów między metodami wewnętrznymi?
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, …

8
W C ++ ile czasu programista spędza na zarządzaniu pamięcią
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 …
39 c++  memory 



10
Różnica między idiomem a wzorcem projektowym?
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? …

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.