Inżynieria oprogramowania

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

4
Czy istnieje standardowy sposób lub standardowa alternatywa dla pakowania struktury w c?
Kiedy programowanie w CI uznało za nieocenione pakowanie struktur za pomocą __attribute__((__packed__))atrybutu GCC, dzięki czemu mogę łatwo przekonwertować ustrukturyzowaną część pamięci ulotnej na tablicę bajtów, która ma być przesłana przez magistralę, zapisana w pamięci lub zastosowana do bloku rejestrów. Spakowane struktury gwarantują, że traktowane jako tablica bajtów nie będą zawierać …

1
Czy istnieje standardowa praktyka zamawiania atrybutów w tagach HTML?
Pracuję nad projektem AngularJS, a atrybuty są liczne w wielu moich elementach HTML: <button type="submit" ng-click="Page.UI.DetailView.ExecuteFunction()" ng-disabled="step5.$invalid" class="btn btn-success pull-right"> Submit this Product </button> Czy istnieje ustandaryzowana konwencja dotycząca kolejności tych atrybutów? Alfabetyczny? Zgrupowane według znaczenia (np. Wszystkie atrybuty kątowe razem)? Standardowe atrybuty HTML (na przykład „typ”)?


5
Zepsute stare / starsze testy jednostkowe
Pracuję dla dużej firmy i jestem odpowiedzialny za dużą aplikację Java z tysiącami testów Junit. Od kiedy przeniosłem się do tej roli, przeprowadzono 200–300 zepsutych testów (prawdopodobnie zepsutych przez lata). Testy są stare i kruche i stanowią bałagan zależności od spaghetti, które zwykle kończą się danymi na żywo w piaskownicy. …

1
Czy modele domen w bazie danych mogą być trwałym rozwiązaniem?
Właśnie zacząłem od nowej pracy jako programista baz danych dla średniej wielkości firmy opartej na technologii Microsoft. Zauważyłem wcześnie, jak wiele praktyk różni się od tego, czego nauczono mnie w szkole w zakresie najlepszych praktyk, wzorców projektowych, testów i zarządzania projektami. Najbardziej denerwuje mnie to, w jaki sposób nasz główny …

3
Z jakich powodów używałbyś osobnego rozszerzenia klasy dla każdego delegata w Swift?
Pracowałem przez samouczek Raya Wenderlicha i zauważyłem, że autor używa rozszerzeń klas do przechowywania wywołań zwrotnych delegatów zamiast obsługi ich w samej klasie, tj .: delegować wywołania zwrotne wewnątrz rozszerzenia klasy: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } w przeciwieństwie do …


4
Czy należy wdrożyć tylko wersje 32-bitowe, czy zarówno wersje 32-, jak i 64-bitową dla systemu Windows?
Mam wieloplatformową aplikację napisaną w skompilowanym języku. W systemie Linux zwykle dostępne są kompilacje zarówno amd64, jak i i386, dzięki czemu użytkownik może wybrać wersję odpowiednią dla bieżącego środowiska. W Macu powszechne jest tworzenie Universal Binary, aby mógł obsługiwać wiele wersji komputerów Apple. Lub po prostu zapewnij wersję 64-bitową, ponieważ …

3
Jak narysować uwagi programisty w określonych warunkach?
Zacznijmy od przykładu. Powiedzmy, że mam wywoływaną metodę, exportktóra zależy w dużym stopniu od schematu DB. Przez „mocno zależy” rozumiem, że dodanie nowej kolumny do określonej tabeli często (bardzo często) prowadzi do zmiany odpowiedniej exportmetody (zwykle należy również dodać nowe pole do danych eksportu). Programiści często zapominają o zmianie exportmetody, …

3
Jak bezpiecznie refaktoryzować w języku z dynamicznym zakresem?
Dla tych z was, którzy mają szczęście nie pracować w języku z dynamicznym zakresem, pozwólcie, że trochę odświeżę, jak to działa. Wyobraź sobie pseudo-język o nazwie „RUBELLA”, który zachowuje się tak: function foo() { print(x); // not defined locally => uses whatever value `x` has in the calling context y …

3
Wiele tokenów dostępu Oauth2
Mam interfejs API, który wykorzystuje oAuth2 i własne aplikacje mobilne, które używają tego interfejsu API jako zaplecza. Ponieważ użytkownicy mogą być zalogowani jednocześnie za pomocą wielu urządzeń (np. IPhone'a, iPada, tabletu z Androidem lub telefonu z Androidem), potrzebuję interfejsu API do rozróżnienia każdego połączenia. Chciałbym to zrobić za pomocą oddzielnych …
13 spring  oauth2 

4
Czy kpiny naruszają zasadę otwartej / zamkniętej?
Jakiś czas temu przeczytałem na odpowiedzi Przepełnienie stosu, której nie mogę znaleźć, zdanie wyjaśniające, że powinieneś przetestować publiczne interfejsy API, a autor powiedział, że powinieneś przetestować interfejsy. Autor wyjaśnił również, że jeśli zmieni się implementacja metody, nie trzeba modyfikować przypadku testowego, ponieważ spowoduje to zerwanie umowy zapewniającej działanie testowanego systemu. …




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.