Inżynieria oprogramowania

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

13
Jakie było twoje najtrudniejsze polowanie na robaki i jak je znalazłeś i zabiłeś?
To jest pytanie „Podziel się wiedzą”. Jestem zainteresowany uczeniem się na podstawie twoich sukcesów i / lub porażek. Informacje, które mogą być pomocne ... Tło: Kontekst: język, aplikacja, środowisko itp. Jak zidentyfikowano błąd? Kto lub co zidentyfikowało błąd? Jak skomplikowane było odtwarzanie błędu? Polowanie Jaki był twój plan Jakie napotkałeś …
31 experience  bug 

10
Czy generalnie wysyłasz obiekty lub ich zmienne składowe do funkcji?
Co jest ogólnie przyjętą praktyką między tymi dwoma przypadkami: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } lub function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } Innymi słowy, czy ogólnie lepiej jest przekazywać całe obiekty, czy tylko pola, których potrzebujesz?




4
Czy istnieje różnica między komponentem a modułem
Mam mały problem z modułem terminów i komponentem. Moim zdaniem moduł to klasy pakietowe, do których można uzyskać dostęp tylko poprzez dobrze zdefiniowany interfejs. Ukryją wszystkie szczegóły implementacji i są wielokrotnego użytku. Moduły definiują moduły, od których są zależne. Jaka jest różnica w stosunku do komponentów? Sprawdziłem to w niektórych …


12
Czy niewłaściwe jest pobieranie kodu, który stworzyłeś w pracy i ponowne wykorzystywanie go do osobistych projektów?
W różnych miejscach pracy zawsze pisałem kod, który sprawił, że pomyślałem „byłoby to naprawdę przydatne w innych sytuacjach”. Rzeczywiście celowo piszę kod, nawet jeśli zajmuje mi to więcej czasu, co, jak wiem, pomoże mi w przyszłości (np. SubString()Funkcje niestandardowe ). Dobrym kandydatem do tych fragmentów są różne klasy „Pomocników”. Te …

4
Czy to jest wspólne rozdzielanie zaplecza i interfejsu użytkownika na dwie pozycje w projektach internetowych?
Czy przy uruchamianiu przez Internet częściej jest, gdy inżynier pracuje nad interfejsem i zapleczem funkcji (w zasadzie za całą funkcję)? A może inżynierowie oddzielili zaplecze od interfejsu? Które są bardziej korzystne i w jakich sytuacjach? Zauważyłem, że wadą związaną z posiadaniem jednego inżyniera odpowiedzialnego za całą tę funkcję jest to, …


5
Programowanie asynchroniczne w językach funkcjonalnych
Jestem głównie programistą C / C ++, co oznacza, że ​​większość mojego doświadczenia dotyczy paradygmatów proceduralnych i obiektowych. Jednak, jak wielu programistów C ++ zdaje sobie sprawę, C ++ z biegiem lat przesunął nacisk na styl funkcjonalny, którego kulminacją było wreszcie dodanie lambdas i zamknięć w C ++ 0x. Niezależnie …


5
Kiedy używać słownika vs krotki w Pythonie
Konkretnym przykładem jest lista nazw plików i ich rozmiarów. Nie mogę zdecydować, czy każdy element na liście powinien mieć formę {"filename": "blabla", "size": 123}, czy tylko ("blabla", 123). Słownik wydaje mi się bardziej logiczny, ponieważ na przykład dostęp do rozmiaru file["size"]jest bardziej objaśniający niż file[1]... ale tak naprawdę nie jestem …

5
Czy nadrzędne metody to zapach kodu?
Czy to prawda, że ​​nadrzędnymi konkretnymi metodami jest zapach kodu? Ponieważ uważam, że jeśli chcesz zastąpić konkretne metody: public class A{ public void a(){ } } public class B extends A{ @Override public void a(){ } } można go przepisać jako public interface A{ public void a(); } public class …


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.