Inżynieria oprogramowania

30
Co to jest piękny kod? [Zamknięte]

Często czytam, że programiści muszą pisać piękny kod, ale dla początkujących pozostaje niejasne, czym jest piękny kod i jak go rozpoznajesz? Następnym pytaniem jest: jak napisać piękny kod i jakie są praktyczne nawyki, aby poprawić jakość kodu? , o co powinienem dbać, aby kod, który piszę był...

30
Kiedy powinienem pisać testy integracyjne?

Zgodnie z zasadami testów jednostkowych TDD są pisane przed kodem produkcyjnym, ale co z testami integracyjnymi, które ćwiczą interakcję między konkretnymi (nie udawanymi) obiektami przewodowymi? Czy powinny być napisane przed testami jednostkowymi czy po kodzie produkcyjnym, aby przetestować...

30
Zrozumienie „programowania do interfejsu”

Często spotykałem się z terminem „programowanie interfejsu zamiast implementacji” i myślę, że rozumiem, co to znaczy. Ale chcę się upewnić, że rozumiem, jakie są korzyści i możliwe wdrożenia. „Programowanie interfejsu” oznacza, że ​​tam, gdzie to możliwe, należy odwoływać się do bardziej...

30
Jak skutecznie rozwiązywać problemy lub testować nowy kod, gdy konfiguracja sprzętowa do odtwarzania błędów jest trudna lub niemożliwa do uzyskania?

Pracuję w średniej wielkości firmie (150 pracowników, zespół inżynierów wielkości około 10), a większość moich projektów dotyczy współpracy ze sprzętem laboratoryjnym (oscyloskopy, analizatory spektrum optycznego itp.) Do celów półautomatycznych aplikacji testowych. Natknąłem się na kilka różnych...

30
Jak działa „Czwarty wymiar” z tablicami?

Abstrakcyjny: Tak więc, jak rozumiem (chociaż mam bardzo ograniczone rozumienie), istnieją trzy wymiary, z którymi (zwykle) pracujemy fizycznie: Pierwszy byłby reprezentowany przez linię. Drugi byłby reprezentowany przez kwadrat. Trzeci byłby reprezentowany przez sześcian. Wystarczająco...

30
Dlaczego `` void * '' nie jest niejawnie obsadzony w C ++?

W C nie ma potrzeby rzucania void *żadnego innego wskaźnika, zawsze jest bezpiecznie promowany. Jednak w C ++ tak nie jest. Na przykład, int *a = malloc(sizeof(int)); działa w C, ale nie w C ++. (Uwaga: Wiem, że nie powinieneś używać mallocw C ++ ani w tym przypadkunew , a zamiast tego powinieneś...

30
Czy powinienem zweryfikować wartość zwracaną wywołania metody, nawet jeśli wiem, że metoda nie może zwrócić złych danych wejściowych?

Zastanawiam się, czy powinienem bronić się przed wartością zwracaną wywołania metody, sprawdzając, czy spełniają one moje oczekiwania, nawet jeśli wiem, że metoda, którą wywołuję, spełni takie oczekiwania. DANY User getUser(Int id) { User temp = new User(id); temp.setName("John"); return...