Inżynieria oprogramowania

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


19
Czy aplikacje świata rzeczywistego będą kiedykolwiek potrzebować 128-bitowej płaskiej przestrzeni adresowej?
To trochę „jeden megabajt powinien wystarczyć każdemu”, ale ... 64-bitowa płaska przestrzeń adresowa zapewnia do 4,3 miliarda razy więcej miejsca niż 32-bitowa przestrzeń adresowa. To 17 179 869 184 GiB. Oczywiście przejście z 8 bitów na 16 bitów było dość szybkie (oglądam rzeczy po nastolatku w latach 80., ignorując te …


11
Co sprawia, że ​​projekt jest duży? [Zamknięte]
Z ciekawości, jaka jest różnica między małym, średnim i dużym projektem? Czy mierzy się to liniami kodu lub złożonością? Buduję system barterowy i do tej pory mam około 1000 linii kodu do logowania / rejestracji. Mimo że jest dużo LOC, nie uważałbym go za duży projekt, ponieważ nie jest tak …
32 project 

2
Dlaczego oprogramowanie korzysta z nazwy Win32?
Jeśli oprogramowanie / biblioteka ma pewne wsparcie dla platformy Windows, prawie zawsze nazywają swoje katalogi i zmienne jako win32. Jest to najbardziej rozpowszechnione w projektach C / C ++. Nawet trzykrotne wykorzystanie docelowego projektu MinGWwin32 . Czy jest tego powód? Dlaczego nie użyć prawidłowej nazwy, takiej jak Windows lub Microsoft …

8
Czy porównywanie równości liczb zmiennoprzecinkowych wprowadza w błąd młodszych programistów, nawet jeśli w moim przypadku nie wystąpił błąd zaokrąglania?
Na przykład chcę wyświetlić listę przycisków od 0,0,5, ... 5, która przeskakuje za każde 0,5. Używam do tego pętli for i mam inny kolor pod przyciskiem STANDARD_LINE: var MAX=5.0; var DIFF=0.5 var STANDARD_LINE=1.5; for(var i=0;i<=MAX;i=i+DIFF){ button.text=i+''; if(i==STANDARD_LINE){ button.color='red'; } } W tym przypadku nie powinno być żadnych błędów zaokrąglania, ponieważ …

9
Dlaczego potrzebujemy klasy Builder podczas wdrażania wzorca Builder?
Widziałem wiele implementacji wzorca Builder (głównie w Javie). Wszystkie mają klasę encji (powiedzmy Personklasę) i klasę konstruktora PersonBuilder. Konstruktor „układa” różne pola i zwraca new Personargument z przekazanymi argumentami. Dlaczego jawnie potrzebujemy klasy konstruktora, zamiast umieszczać wszystkie metody konstruktora w Personsamej klasie? Na przykład: class Person { private String name; …

1
Czy „StringBuilder” jest aplikacją wzorca projektowego Builder?
Czy wzorzec „Konstruktora” ogranicza się do rozwiązania anty-wzorca „konstruktora teleskopowego”, czy też można powiedzieć, że dotyczy również bardziej ogólnego problemu skomplikowanego tworzenia niezmiennych obiektów? StringBuilderKlasy ma słowo „budowniczy” w nazwie, ale to nie ma nic, teleskopowe do czynienia z konstruktorów, to po prostu pomaga nam zebrać wszystkie dane, które musimy …


2
Metody oddzielania frontu i zaplecza za pomocą pełnego javascript?
Załóżmy, że mam interfejs, który jest w większości jednostronicową aplikacją napisaną za pomocą kątownika, pomruku i altany. Przypuśćmy, że mam backend, który jest w większości po prostu interfejsem API REST umieszczonym na ORM, który przechowuje / pobiera obiekty z bazy danych, używając takich funkcji, jak chrząknięcie, ekspresowe i sekwencjonowanie. Aplikacja …


6
Wprowadzanie hasła w wywołaniu interfejsu API REST
Załóżmy, że mam interfejs API REST, który służy również do ustawiania / resetowania haseł. Załóżmy również, że działa to w przypadku połączeń HTTPS. Czy jest jakiś dobry powód, aby nie umieszczać tego hasła w ścieżce wywołania, powiedzmy też, że zakoduję je w BASE64? Przykładem może być zresetowanie hasła takiego: http://www.example.com/user/joe/resetpassword/OLDPASSWD/NEWPASSWD …
31 rest  passwords 

5
Jak zwykle parsowane są komentarze?
Jak ogólnie traktuje się komentarze w językach programowania i znacznikach? Piszę parser dla jakiegoś niestandardowego języka znaczników i chcę przestrzegać zasady najmniejszego zaskoczenia , więc staram się ustalić ogólną konwencję. Na przykład, czy komentarz osadzony w tokenie powinien „zakłócać” token, czy nie? Zasadniczo jest coś takiego: Sys/* comment */tem.out.println() ważny? …
31 parsing  comments 

7
Jak działała kontrola wersji na mikrokomputerach w latach 80. i 90.?
Jestem ciekawy, jak zespoły programistów zazwyczaj zarządzały tworzeniem oprogramowania w latach 80. i na początku 90. Czy cały kod źródłowy był po prostu przechowywany na jednym komputerze, nad którym wszyscy pracowali, czy też źródło było przekazywane i kopiowane ręcznie za pomocą dyskietki i scalane ręcznie, czy też faktycznie korzystali z …

6
Czy można mieć zapach, jeśli kod pozwala łatwiej rozwiązać inny problem? [Zamknięte]
Grupa przyjaciół i ja pracowaliśmy od jakiegoś czasu nad projektem i chcieliśmy wymyślić przyjemny sposób OOP reprezentujący scenariusz specyficzny dla naszego produktu. Zasadniczo pracujemy nad grą w piekło w stylu Touhou i chcieliśmy stworzyć system, w którym moglibyśmy z łatwością reprezentować każde możliwe zachowanie kuli, jakie moglibyśmy wymarzyć. Tak właśnie …

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.