Inżynieria oprogramowania

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

14
Kiedy testowanie typu jest OK?
Zakładając język z pewnym nieodłącznym rodzajem bezpieczeństwa (np. Nie JavaScript): Biorąc pod uwagę metodę, która akceptuje a SuperType, wiemy, że w większości przypadków, w których możemy ulec pokusie przeprowadzenia testów typu w celu wybrania akcji: public void DoSomethingTo(SuperType o) { if (o isa SubTypeA) { o.doSomethingA() } else { o.doSomethingB(); …

9
Dlaczego nie ujawnić klucza podstawowego
W mojej edukacji powiedziano mi, że wadliwym pomysłem jest udostępnianie użytkownikowi rzeczywistych kluczy podstawowych (nie tylko kluczy DB, ale wszystkich głównych akcesorów). Zawsze myślałem, że to problem z bezpieczeństwem (ponieważ osoba atakująca może próbować czytać rzeczy, które nie są ich własnością). Teraz muszę sprawdzić, czy użytkownik może mimo to uzyskać …

11
Jak często zespół pisze wszystko na miejscu? [Zamknięte]
W ostatnim wywiadzie zapytałem ankieterów: „jak oceniasz nowe technologie i biblioteki (takie jak SignalR) i wprowadzasz je do użytku?”. Powiedzieli, że nie, że zamiast tego piszą wszystko sami, aby nie musieli polegać na nikim innym. Firma nie pracuje dla rządu lub kontrahentów w dziedzinie obronności, ani przy projektach o kluczowym …




4
TDD - Outside In vs Inside Out
Jaka jest różnica między budowaniem aplikacji Outside In a budowaniem aplikacji Inside Out za pomocą TDD? Oto książki, które czytałem o TDD i testowaniu jednostkowym: Rozwój oparty na testach: Przez przykład Rozwój oparty na testach: Praktyczny przewodnik: Praktyczny przewodnik Realne rozwiązania dla rozwoju wysokiej jakości ram i aplikacji PHP Rozwój …

7
Czy coś jest nie tak z tym, jak przeprowadzamy kontrolę wersji?
Współpracuję z zespołem programistów jako analityk biznesowy. Właśnie wydaliśmy wersję 2.0 naszego produktu i pracujemy nad kolejną wersją, która zostanie wydana za 3 miesiące (jest to wewnętrzny produkt programowy). Niestety w wersji 2.0 występują pewne problemy, które musieli naprawić, a my zamierzamy je wdrożyć za kilka tygodni. Problem polega na …

9
Czy metody klasy powinny wywoływać własne metody pobierające i ustawiające?
W miejscu pracy widzę wiele klas, które wykonują takie rzeczy: public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } } …

12
Jak cofnąć się o krok i spojrzeć na kod świeżymi oczami? [Zamknięte]
Spędziłem ostatni rok jako jednoosobowy zespół, opracowując aplikację dla bogatych klientów (ponad 35 000 LoC, za co jest warta). Obecnie jest stabilny i produkowany. Wiem jednak, że moje umiejętności były zardzewiałe na początku projektu, więc bez wątpienia w kodzie występują poważne problemy. W tym momencie większość problemów dotyczy architektury, struktury …

6
Kto stworzył idee pierwszych konstrukcji pętli?
while (1) { if (1+1==2) { print "Yes, you paid attention in Preschool!"; } else { print "Wait... I thought 1+1=2"; } } Jako programista wszyscy musimy bardzo często używać pętli . Wiemy to. Zastanawiałem się, kto pomyślał o tym, żeby mieć pętle? W jakim języku wprowadzono pętle? Jaka była …
53 history  loops 

1
Zaangażowanie w Github (jak znaleźć projekty) [zamknięte]
Chcę uczestniczyć w projektach open source na Github. Przede wszystkim chciałbym zacząć od naprawiania drobnych błędów lub dodawania funkcji. Nie mam na myśli konkretnego projektu. Chciałbym pracować nad projektami w C, C ++, Python, .NET, Java itp. Jednak moim problemem jest to, że nie potrafię znaleźć niczego na Github. Znalazłem …

2
Dlaczego „void” nie jest dozwolone jako typ ogólny w C #
Jakie były decyzje projektowe, które przemawiały za tym, że voidnie można ich zbudować i że nie można ich uznać za rodzaj ogólny? W końcu jest to po prostu specjalny pusty structi uniknąłby całkowitej PITA posiadania odrębnych Funci Actiondelegatów. (C ++ pozwala na jawne voidzwroty i pozwala voidjako parametr szablonu)

5
Dlaczego nie XHTML5?
Tak więc, HTML5 jest wielkim krokiem naprzód, jak mi powiedziano. Ostatnim krokiem, jaki zrobiliśmy, o którym jestem świadomy, było wprowadzenie XHTML. Korzyści były oczywiste: prostota, surowość, możliwość korzystania ze standardowych parserów i generatorów XML do pracy ze stronami internetowymi i tak dalej. Jak dziwne i frustrujące jest to, że HTML5 …
53 html  html5  xml  xhtml 

5
Co oznacza „Nightly Builds”?
Od jakiegoś czasu korzystam z projektów open source i rozwijam aplikacje open source i co jakiś czas spotykam słowa „Nightly Build” i zawsze byłem ciekawy, co to właściwie znaczy. Czy to dosłownie oznacza, że ​​projekty są wykonywane wyłącznie jako projekty poboczne (zwykle w nocy po zakończeniu pracy przez wszystkich) i …

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.