Inżynieria oprogramowania

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



6
Czy metody prywatne z jednym odniesieniem są w złym stylu?
Zasadniczo używam prywatnych metod do enkapsulacji funkcjonalności, która jest ponownie wykorzystywana w wielu miejscach w klasie. Ale czasami mam dużą metodę publiczną, którą można by podzielić na mniejsze etapy, każdy według własnej metody prywatnej. Spowoduje to, że metoda publiczna będzie krótsza, ale obawiam się, że zmuszanie każdego, kto czyta metodę, …

8
Jak sprawić, by ludzie przestali jeździć rowerem (koncentrując się na trywialnościach)?
Zadanie polegało na nauczaniu innych zespołów nowej bazy kodu, ale ciągle napotyka problem. Ilekroć wchodzę do kodeksu z ludźmi, nie docieramy zbyt daleko, dopóki całe ćwiczenie nie przekształci się w trening rowerowy (członkowie organizacji przykładają nieproporcjonalną wagę do trywialnych problemów). Ponieważ nie znają bazy kodu, ale myślą, że muszą pomóc …

11
Czy istnieje zbyt wiele testów jednostkowych?
Zadanie polegało mi na napisaniu testów jednostkowych dla istniejącej aplikacji. Po zakończeniu pierwszego pliku mam 717 linii kodu testowego na 419 linii oryginalnego kodu. Czy ten współczynnik stanie się niemożliwy do zarządzania, gdy zwiększymy zasięg naszego kodu? Moje rozumienie testów jednostkowych polegało na przetestowaniu każdej metody w klasie, aby upewnić …
139 unit-testing  tdd 

15
Dlaczego języki zarządzane przez pamięć, takie jak Java, JavaScript i C #, zachowały słowo kluczowe `new`?
Słowo newkluczowe w językach takich jak Java, JavaScript i C # tworzy nowe wystąpienie klasy. Wydaje się, że ta składnia została odziedziczona z C ++, gdzie newjest używana specjalnie do przydzielenia nowej instancji klasy na stercie i zwrócenia wskaźnika do nowej instancji. W C ++ nie jest to jedyny sposób …

14
Kiedy nie należy przeprowadzać testu jednostkowego?
Pracuję w małej firmie jako programista solo. W rzeczywistości jestem jedynym programistą w firmie. Mam kilka (stosunkowo) dużych projektów, które regularnie napisałem i prowadzę, i żaden z nich nie ma testów na ich wsparcie. Kiedy rozpoczynam nowe projekty, często zastanawiam się, czy powinienem spróbować podejścia TDD. Brzmi jak dobry pomysł, …
138 unit-testing  tdd 

7
W jaki sposób wyszukiwania pasują do interfejsu RESTful?
Podczas projektowania interfejsu RESTful semantykę typów żądań uważa się za kluczową dla projektu. GET - Wyświetl listę elementów do pobrania lub pobierania PUT - zamień kolekcję lub element POST - Utwórz kolekcję lub element USUŃ - No cóż, usuń kolekcję lub element Nie wydaje się to jednak obejmować pojęcia „wyszukiwania”. …

25
Czy to „normalne”, że ludzie nie pracują?
Po ukończeniu studiów zostałem zatrudniony jako młodszy programista nieco ponad rok temu. Szybko zauważyłem, że jestem o stopień wielkości szybszy niż wszyscy inni programiści; wydaje się, że dzieje się tak, ponieważ po prostu nie marnuję czasu „ogólnie”. Wydaje się jednak, że większość innych osób lubi patrzeć w sufit, przeglądać YouTube, …
137 productivity 

2
Konwencja nazewnictwa plików Python?
Widziałem tę część PEP-8 https://www.python.org/dev/peps/pep-0008/#package-and-module-names Nie jestem pewien, czy odnosi się to do nazwy pliku modułu / klasy / pakietu. Gdybym miał jeden przykład każdego z nich, czy nazwy plików powinny być pisane małymi literami, jeśli to właściwe? Albo coś innego?

10
Na temat rozwijania głębokiej wiedzy z zakresu programowania
Czasami widzę pytania na temat przypadków skrajnych i innych dziwności w przepełnieniu stosu, na które z łatwością odpowiadają Jona Skeeta i Erica Lipperta, wykazując głęboką znajomość języka i jego wielu zawiłości, takich jak ten: Możesz pomyśleć, że aby użyć foreachpętli, kolekcja, nad którą się iterujesz, musi zaimplementować IEnumerablelub IEnumerable<T>. Ale …
136 code-quality 

13
Czy wzory wzornictwa są niezadowolone?
Rozmawiałem z jednym z naszych starszych programistów, który działa w branży od 20 lat. Jest dość dobrze znany w Ontario z bloga, który pisze. Dziwne jest to, co mi powiedział: powiedział, że istnieje kawałek kodu, który jest koszmarem do pracy, ponieważ został napisany z podręcznika i nie uwzględnia prawdziwego świata. …

10
Kiedy warto wymusić zbieranie śmieci?
Czytałem więc pytanie o zmuszeniu modułu śmieciowego C # do uruchomienia tam, gdzie prawie każda odpowiedź jest taka sama: możesz to zrobić, ale nie powinieneś - z wyjątkiem bardzo rzadkich przypadków . Niestety nikt nie wyjaśnia, jakie są takie przypadki. Czy możesz mi powiedzieć w jakim scenariuszu wymuszenie zbierania śmieci …

17
Czy lepiej jest zwracać NULL lub puste wartości z funkcji / metod, w których zwracana wartość nie jest obecna?
Szukam rekomendacji tutaj. Mam problem z tym, czy lepiej zwrócić NULL, czy pustą wartość z metody, gdy zwracana wartość nie jest obecna lub nie można jej ustalić. Jako przykład weź następujące dwie metody: string ReverseString(string stringToReverse) // takes a string and reverses it. Person FindPerson(int personID) // finds a Person …

8
Co robi C ++ lepiej niż D?
Niedawno uczyłem się D i zaczynam się trochę zaznajomić z językiem. Wiem, co oferuje, nie wiem jeszcze, jak korzystać ze wszystkiego, i niewiele wiem o idiomach D i tak dalej, ale uczę się. Lubię D. To fajny język, będący w pewnym sensie ogromną aktualizacją do C i ładnie wykonany. Żadna …

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.