Inżynieria oprogramowania

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

4
Jak przepisać kod od podstaw, do którego mam prawa autorskie, aby móc go używać w pracy bez utraty praw do pierwszej wersji?
Cóż, nie chcę, aby był to open source! To jest problem. Ale chcę go wykorzystać w mojej obecnej pracy. Firma nie zgodziła się podpisać ze mną żadnej alternatywnej licencji i kazała mi przepisać wszystko od zera, aby były jej właścicielami. :( Jak mogę to zrobić w bezpieczny sposób, aby później …

1
Dlaczego Resharper woli „jak” niż „jest”?
Kiedy piszę taki kod, gdzie obj jest zmienną lokalną: if (obj is IMyInterface) { var result = (IMyInterface)obj; // .... } Resharper oferuje zamianę tego kodu w następujący sposób: var result = obj as IMyInterface; if (result != null) { // ... } Wolę ten pierwszy, ponieważ nie oferuje on …
13 c#  resharper 

3
Co tak naprawdę oznacza „sublicencja”?
Po pierwsze, jasne jest, że prawo do sublicencji nie daje ci prawa do sublicencji. Załóżmy, że mamy bibliotekę z licencją MIT (1 plik), ktoś dodaje pewne funkcje do biblioteki, ale umieszcza je na GPL (w tym samym 1 pliku). A jeśli ktoś chce sublicencjonować, musi oddzielić kod? Jeśli ktoś chce …

1
Najlepsze praktyki przy rozwidlaniu bazy kodu
Mam pytanie co do najlepszych dobrych praktyk dotyczących obracania kodu rozwidlania. Wziąłem bazę kodu na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Na tych samych warunkach 3.0 i wprowadziłem znaczące zmiany w celu dostosowania jej do moich potrzeb. Wydaje mi się, że moja wersja może przynieść korzyści innym i chcę ją rozpowszechniać. …


3
Przydatność przejścia drzew binarnych przed i po zamówieniu
To może być bardzo naiwne, ale zastanawiałem się, czy to w kontekście drzew binarnych (zwykłych, posortowanych i zrównoważonych) wszystkich rodzajów przechodzenia: pierwsze zamówienie w głębokości najpierw głębokość w kolejności głębokość pierwszego zamówienia po zamówieniu szerokość pierwsza jaka jest rzeczywista użyteczność przedsprzedażowa i po zamówieniu? Mam na myśli, czy istnieje jakiś …

2
Czy powinienem refaktoryzować swoje testy jednostkowe, gdy wydobywam klasę z testowanego systemu?
Napisałem tę klasę, która robi kilka rzeczy (być może jest to naruszenie zasady pojedynczej odpowiedzialności). Teraz zdaję sobie sprawę, że jakaś inna część projektu potrzebuje fragmentu tej logiki, a sposób, w jaki ją ujawnię, polega na wyodrębnieniu klasy z mojego oryginalnego Testowanego Systemu. Spodziewam się, że będę w stanie to …

4
Patchowanie oprogramowania open source podczas aktualizacji nie jest opcją?
Niedawno natknąłem się na dość irytujący (potwierdzony) błąd w pakiecie oprogramowania typu open source, który zintegrowałem z moją aplikacją. Według publicznego narzędzia do śledzenia problemów ten błąd został rozwiązany w najnowszej wersji oprogramowania. Czasami POTRZEBUJESZ tej poprawki błędu, aby uniknąć kosztownego refaktoryzacji określonego modułu, jednak ze względów technicznych i / …


4
„Ograniczone języki” Fernando J. Corbató
W swoim przemówieniu z Turinga w 1990 r. Fernando J. Corbató wymienił powody, dla których złożone systemy nieuchronnie ulegną awarii. W podsumowaniu podaje pewne sugestie dotyczące zmniejszenia prawdopodobieństwa niepowodzenia. Wymienia jeden pomysł w następujący sposób: [U] seryjne języki do projektowania lub syntezy to potężna metodologia. Nie pozwalając programistom ani projektantom …


6
Jakie * są * koncepcje programowania, które powinienem opanować, aby mieć głębokie zrozumienie mojego rzemiosła (programowania)? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …

4
Podkreśl negację
Właśnie pisałem oświadczenie if z dość długimi nazwami nieruchomości i napotkałem ten problem. Powiedzmy, że mamy takie wyrażenie if: if(_someViewModelNameThatIsLong.AnotherPropertyINeedToCheck == someValue && !_someViewModelNameThatIsLong.ThisIsABooleanPropertyThatIsImportant) { //Do something } Druga właściwość jest typu boolowskiego i nie ma sensu mieć podobnego do stetement if(boleanValue == true) Czy istnieje lepszy sposób na podkreślenie …

3
Czy używanie testów jednostkowych do opowiadania historii to dobry pomysł?
Mam więc moduł uwierzytelniania, który napisałem jakiś czas temu. Teraz widzę błędy na mojej drodze i piszę dla nich testy jednostkowe. Podczas pisania testów jednostkowych trudno mi wymyślić dobre nazwiska i dobre obszary do przetestowania. Na przykład mam takie rzeczy Wymaga Logowania_ powinien być_redirect_when_not_logged_in Wymaga Logowania_powinna_przejść_przejście_w momencie_logowania_w Login_should_work_when_given_proper_credentials Osobiście uważam, …

2
Skąd pochodzi termin „pełzanie funkcji”?
W Wikipedii znajduje się przyzwoity artykuł na temat „Pełzania funkcji”, ale nie podaje on źródła. Wyszukiwarki Google prowadzi jedynie do jakiegoś nieokreślonego artykule twierdząc „Earl bogaty” ukuł termin, ale tam nie ma wiele kopii zapasowej dla tego roszczenia. Istnieje komiks Dilberta z 2001 roku na ten temat, ale ton wydaje …

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.