Inżynieria oprogramowania

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

2
Dlaczego tworzenie 64-bitowej wersji programu może być trudne?
W moim krótkim programowaniu kompilowanie dowolnego C ++, Java itp. Na maszynie 32- lub 64-bitowej było banalne, o ile mam pełne źródło programu. Ale wiele programów nie zostało wydanych 64-bitowych. Najbardziej denerwujące jest to, że nie ma jeszcze 64-bitowej wersji silnika Unity. Co utrudnia kompilację niektórych programów dla komputerów 64-bitowych?

3
Dobry ogólny system typów
Powszechnie przyjmuje się, że niektóre rodzaje Java zawiodły w ważnych sprawach. Połączenie symboli wieloznacznych i granic spowodowało powstanie poważnie nieczytelnego kodu. Jednak gdy patrzę na inne języki, naprawdę nie mogę znaleźć ogólnego systemu typów, z którego programiści są zadowoleni. Jeśli weźmiemy pod uwagę następujące cele projektowania takiego systemu typów: Zawsze …

7
Czy istnieje jakiś wzorzec algorytmu chroniący jakąkolwiek treść w sieci, aby upewnić się, że jestem pierwszym, który ją stworzył?
Kilka lat temu był ten haker (nie pamiętam, kim był), który w pełni ujawnił lukę w danym systemie, ale aby się upewnić, że nikt nie bierze za to uznania, stworzył jakiś klucz PGP. W tym momencie zrozumiałem, że stworzył klucz, aby upewnić się, że to on go odkrył, ale nie …

2
Dlaczego linker uniksowy nazywa się „ld”
Próbowałem przeszukać sieć i nie mogłem znaleźć odpowiedzi. Może to mieć coś wspólnego z „ładowaniem”, ale to nie ma dla mnie większego sensu. Oczywiście „ln” zostało już zabrane, ale skąd się bierze to „d”?
29 history 

7
Czy można używać wyjątków jako narzędzi do wczesnego „wychwytywania” błędów?
Używam wyjątków, aby wcześnie wychwytywać problemy. Na przykład: public int getAverageAge(Person p1, Person p2){ if(p1 == null || p2 == null) throw new IllegalArgumentException("One or more of input persons is null"). return (p1.getAge() + p2.getAge()) / 2; } Mój program nigdy nie powinien przejść nulltej funkcji. Nigdy tego nie zamierzam. …

3
Czy istnieje dynamiczna zaleta dla języków dynamicznych? [Zamknięte]
Najpierw chcę powiedzieć, że Java jest jedynym językiem, jakiego kiedykolwiek używałem, więc proszę wybaczyć moją ignorancję na ten temat. Dynamicznie pisane języki pozwalają wstawić dowolną wartość do dowolnej zmiennej. Na przykład możesz napisać następującą funkcję (psuedocode): void makeItBark(dog){ dog.bark(); } I możesz przekazać w nim dowolną wartość. Tak długo, jak …

3
Dlaczego typ boolowski w C ++ obsługuje ++, ale nie -?
Dlaczego operator --nie istnieje dla bool, a dla operatora ++? Próbowałem w C ++ i nie wiem, czy moje pytanie dotyczy innego języka. Będę również szczęśliwy. Wiem , że mogę używać operatora ++z boolem. To sprawia, że ​​każdy bool jest równy prawdzie. bool b = false; b++; // Now b …

9
TDD tylko w teorii
Nieco ponad rok temu miałem szczęście, że mogłem zrobić 9-miesięczną przerwę w pracy. Zdecydowałem, że w tym czasie doskonalę swoje umiejętności w języku C #. Zacząłem pracować nad wieloma projektami i zmusiłem się do śledzenia TDD. To był dość pouczający proces. Na początku było ciężko, ale z czasem nauczyłem się …


10
Czy kod tymczasowy powinien podlegać kontroli wersji i jak?
Oto kilka przykładów kodu tymczasowego / lokalnego. Jest potrzebny do pracy z bazą kodu, ale bycie częścią tego byłoby szkodliwe: Pliki projektu Ścieżki mogą wymagać edycji w celu odzwierciedlenia układu na bieżącym komputerze. Makefile. Na przykład optymalizacja może wymagać wyłączenia podczas debugowania, ale nie w przypadku serwera CI. Brudne brzydkie …

5
Przewodnik po stylach dla C ++ [zamknięty]
Obecnie używam Przewodnika po stylu Google C ++ w kodzie C ++ i byłem z tego bardzo zadowolony. Ostatnio powiedziano mi, że ten przewodnik jest bardzo zły: jest używany wewnętrznie przez Google (wiedziałem o tym), jest nieaktualny i promuje niektóre bardzo złe praktyki. Chcę więc użyć innego stylu kodowania. Jakie …

10
Czy szablon „metaprogramowanie” w Javie jest dobrym pomysłem?
W dość dużym projekcie znajduje się plik źródłowy z kilkoma funkcjami niezwykle wrażliwymi na wydajność (nazywanymi milionami razy na sekundę). W rzeczywistości poprzedni opiekun postanowił napisać 12 kopii funkcji różniących się bardzo nieznacznie, aby zaoszczędzić czas, który zostałby poświęcony na sprawdzenie warunków w jednej funkcji. Niestety oznacza to, że kod …

15
W czasach współczesnych komputerów w „typowych aplikacjach biznesowych” - dlaczego wydajność ma znaczenie? [Zamknięte]
To może wydawać się dziwnym pytaniem dla niektórych z was. Jestem hobbystycznym programistą Java. Opracowałem kilka gier, program AI, który tworzy muzykę, inny program do malowania i podobne rzeczy. To znaczy, że mam doświadczenie w programowaniu, ale nie w profesjonalnym rozwoju aplikacji biznesowych. Na tej stronie dużo mówi się o …

1
Jak napisać „SMART” Cele jako zwinny programista?
Jak wiele korporacji firma, dla której pracuję, przechodzi na system oceny wyników oparty na celach SMART . Mój zespół to sprawnie działający zespół programistów wykorzystujący praktyki z Extreme Programming . Na naszą wielką korzyść nasze stosowanie zwinnych praktyk ma pełne wsparcie bezpośredniego i wyższego kierownictwa. Aby wykonać pracę, nasz zespół …

9
Dlaczego większość „dobrze znanych” języków imperatywnych / OO umożliwia niekontrolowany dostęp do typów, które mogą reprezentować wartość „nic”?
Czytałem o (nie) wygodzie posiadania nullzamiast (na przykład) Maybe. Po przeczytaniu tego artykułu , jestem przekonany, że byłoby znacznie lepiej do użytkuMaybe (lub coś podobnego). Jestem jednak zaskoczony, widząc, że wszystkie „dobrze znane” imperatywne lub obiektowe języki programowania nadal używają null(co pozwala na niekontrolowany dostęp do typów, które mogą reprezentować …

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.