Inżynieria oprogramowania

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

14
Jak zdefiniować „lub” logicznie
Ostatnio natknąłem się na problem, który wymagał ode mnie programowego zdefiniowania logicznego operatora „OR”, ale bez użycia samego operatora. Wymyśliłem to: OR(arg1, arg2) if arg1 = True and arg2 = True return True else if arg1 = True and arg2 = False return True else if arg1 = False and …

15
Jak skutecznie konkurować z projektem open source?
Firma z solidnym projektem open source konkurującym z tradycyjnym produktem zamkniętym wydaje się niemożliwa do pokonania. Czytam ten artykuł, w którym autor przedstawia następujący scenariusz: Załóżmy, że można podzielić rynek oprogramowania - powiedzmy zarządzanie siecią - na dwa produkty. Jeden zrobił wszystko, co możliwe i kosztował 1 milion USD, a …

5
Czy wystarczy, aby metody można było odróżnić tylko nazwą argumentu (a nie typem)?
Czy wystarczy, aby metody można było rozróżnić tylko według nazwy argumentu (a nie typu), czy lepiej nazwać ją bardziej jednoznacznie? Na przykład T Find<T>(int id)vs T FindById<T>(int id). Czy jest jakiś dobry powód, aby nazwać go bardziej jawnie (tj. Dodając ById), zamiast utrzymywać tylko nazwę argumentu? Jednym z powodów, o …


2
Dlaczego metody przyjmujące nieograniczoną liczbę parametrów często definiują przeciążenia przy mniejszej liczbie parametrów?
Na przykład System.IO.Path.Combinemetoda w .NET ma następujące przeciążenia: Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) Jaki jest sens ostatnich trzech? Pierwszy obejmowałby je wszystkie, ponieważ jeśli przyjrzysz się uważnie, użyje paramssłowa kluczowego. Argument zgodności wstecznej obejmowałby tylko Combine(String, String)wariant, ponieważ była to jedyna wersja do .NET …

2
Jakie są 4. i 5. generacja języków programowania? Czy jest ich więcej? [Zamknięte]
Ponieważ często jest klasyfikowany na poziomie szkoły / uczelni, popularne języki programowania (C #, Java, C ++) są językami 3. generacji (z wyższym poziomem abstrakcji z części fizycznych maszyny). Ponadto języki asemblera są klasyfikowane jako 2., a języki maszynowe jako języki 1. generacji. Początkowo myślałem, że SQL powinien być uważany …


5
Jak zdefiniowanie, że metodę można zastąpić silniejszym zaangażowaniem, niż zdefiniowanie, że można wywołać metodę?
Od: http://www.artima.com/lejava/articles/designprinciples4.html Erich Gamma: Nadal uważam, że to prawda, nawet po dziesięciu latach. Dziedziczenie to fajny sposób na zmianę zachowania. Wiemy jednak, że jest kruchy, ponieważ podklasa może łatwo przyjmować założenia dotyczące kontekstu, w którym wywoływana jest metoda zastępowana. Istnieje ścisłe powiązanie między klasą podstawową a podklasą z powodu niejawnego …





8
Czy możliwości obiektu powinny być identyfikowane wyłącznie przez interfejsy, które implementuje?
isOperator C # i operator Java instanceofpozwalają na rozgałęzienie w interfejsie (lub, co bardziej nieokiełznane, jego klasie bazowej) zaimplementowanej instancji obiektu. Czy właściwe jest używanie tej funkcji do rozgałęzień wysokiego poziomu w oparciu o możliwości interfejsu? A może klasa podstawowa powinna zapewniać zmienne boolowskie, aby zapewnić interfejs opisujący możliwości obiektu? …

5
Czy właściwe jest umieszczanie pozytywnych komentarzy w recenzjach kodu, czy wyłącznie w celu konstruktywnej krytyki?
Ostatnio robię dużo recenzji kodu i nie jestem pewien pozytywnych i negatywnych efektów oraz profesjonalizmu umieszczania pozytywnych i / lub śmiesznych komentarzy w recenzjach kodu. Używamy Github jako naszej platformy do sprawdzania kodu w moim zespole, więc komentarze są widoczne dla każdego. Ogólnie staram się korzystać z tej platformy, aby …

3
Czy są jakieś zalety SASS nad LESS? [Zamknięte]
Próbuję przeprowadzić badanie tych preprocesorów css. Czy są jakieś zalety używania sassa w porównaniu do mniejszej liczby preprocesorów css? Czynniki, których szukam, to wielkość społeczności, dojrzałość projektów oprogramowania itp. Wiem, że było z tym związane inne pytanie , ale nie zostało ono konstruktywnie napisane i zamknięte. Aktualizacja Wygląda na to, …
36 css  less 

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.