Inżynieria oprogramowania

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

2
Język asemblera używany w systemie lotniczym
Dzisiaj mój wykładowca wspomniał, że powodem, dla którego system samolotów jest zaprogramowany w języku asemblera, jest to, że w pisanym programie występuje mniej błędów. Czy to stwierdzenie jest prawdziwe? Ponieważ, gdy zapytał o naszą opinię, powiedziałem, że asembler może stworzyć szybszy program, dlatego jest to dobry język dla programu systemu …
9 assembly 

2
Użyj innego po wyjątku (lub nie)
Rozważ ten fragment kodu: if (x == 1) { throw "no good; aborting" ; } [... more code ...] Teraz rozważ ten kod: if (x == 1) { throw "no good; aborting" ; } else { [... more code ...] } Oba przypadki działają dokładnie w ten sam sposób. Pierwszy …


1
Unikanie podwójnych raportów o błędach
Używam Linuksa i innego oprogramowania open source w moim domu. Ponieważ nie jestem profesjonalnym programistą, zwykle zgłaszam błędy programistom, ponieważ moje umiejętności nie wystarczają do samodzielnego rozwiązywania problemów. Jakie rzeczy chcesz, żebym sprawdził, zanim wyślę raport o błędzie? To znaczy, kiedy pomyślałem, że znalazłem błąd w Gedit i nie mogłem …

4
PHP file_put_contents Blokowanie plików
The Senario: W każdym wierszu znajduje się plik z ciągiem znaków (średnia wartość zdania). Dla argumentów, powiedzmy, że ten plik ma rozmiar 1 Mb (tysiące linii). Masz skrypt, który odczytuje plik, zmienia niektóre ciągi w dokumencie (nie tylko dodaje, ale także usuwa i modyfikuje niektóre wiersze), a następnie zastępuje wszystkie …


1
Zrozumienie poziomów informatyki
Przepraszam za moje zmieszane pytanie. Szukam wskazówek. Do tej pory pracowałem głównie z Javą i Pythonem w warstwie aplikacji i mam tylko niejasne rozumienie systemów operacyjnych i sprzętu. Chcę zrozumieć znacznie więcej na niższych poziomach komputerów, ale robi się naprawdę przytłaczający. Na uniwersytecie wziąłem udział w zajęciach z mikroprogramowania, tj. …

2
Jakie jest uzasadnienie dla operatora mocy Pythona powiązanego po prawej stronie?
Piszę kod do analizy ciągów wyrażeń matematycznych i zauważyłem, że kolejność, w której operatory łańcuchowe są analizowane w Pythonie, różni się od kolejności w Excelu. From http://docs.python.org/reference/expressions.html : „Tak więc w niepodzielnej sekwencji mocy i jednoargumentowych operatorów, operatory są oceniane od prawej do lewej (nie ogranicza to kolejności oceny dla …

4
Szybkie prototypowanie i refaktoryzacja
Czasami, kiedy rozpoczynam mały projekt (np. Aplikację na Androida), nie wiem, które podejście zadziała na końcu, i po prostu wybieram jedno podejście i próbuję. Ale jeśli nigdy wcześniej nie stosowałem tego podejścia (w przypadku aplikacji, których nigdy wcześniej nie programowałem), to jest to jak wkraczanie w nieznany teren. Nie wiem, …

5
Przywództwo nie widzi wartości w standardowym procesie konfiguracji maszyny i nowej orientacji programisty
Około 3 miesiące temu nasz główny programista i projektant stron internetowych (ta sama osoba) opuścił firmę, przyczyną były zielone pastwiska. Dobre dla nich mówię. Mój problem polega na tym, że jego dział był całkowicie nieudokumentowany. Od czasu odejścia lidera sytuacja była trudna, istnieje duża wiedza zarówno teoretyczna, z której korzystamy …


1
Interfejsy API kontroli wersji
Załóżmy, że masz duży projekt obsługiwany przez bazę API. Projekt udostępnia także publiczny interfejs API, z którego mogą korzystać użytkownicy końcowi (ish). Czasami musisz wprowadzić zmiany w bazie API obsługującej Twój projekt. Na przykład musisz dodać funkcję, która wymaga zmiany interfejsu API, nowej metody lub wymaga zmiany jednego z obiektów …


5
Kroki prowadzące do utrzymania dobrej bazy danych błędów
Utrzymanie bazy danych błędów jest ważne dla każdego projektu. Jestem przyzwyczajony do przechowywania następujących danych w bazie danych błędów Data wydania czas Kto jest przypisany Czy zostało to rozwiązane czy nie Jeśli rozwiązane, rozwiązana data i godzina Czy to wystarczy, aby utrzymać dobrą bazę błędów?
9 bug  bug-report 

8
Kiedy „optymalizacja kodu” == „strukturyzuje dane”?
Niedawny artykuł ycombinator wymienia komentarz z zasadami doskonałego programisty. #7. Dobry programista: optymalizuję kod. Lepszy programista: uporządkuję dane. Najlepszy programista: jaka jest różnica? Uznanie subiektywnych i kontrowersyjnych pojęć - czy ktoś ma stanowisko co do tego? Tak, ale chciałbym później zredagować to pytanie, aby nie predysponować do odpowiedzi.

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.