Inżynieria oprogramowania

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



11
Dlaczego wszystkie klasy w .NET globalnie dziedziczą po klasie Object?
Jest to dla mnie bardzo interesujące, którego zalety dają „globalną klasę root” dla frameworka. Krótko mówiąc, jakie były przyczyny tego, że środowisko .NET zostało zaprojektowane tak, aby miało jedną klasę obiektów głównych z ogólną funkcjonalnością odpowiednią dla wszystkich klas. Obecnie projektujemy nową platformę do użytku wewnętrznego (platforma w ramach platformy …


7
Jak ułatwić utrzymanie kodu sterowanego zdarzeniami?
Podczas korzystania ze składnika opartego na zdarzeniu często odczuwam pewien ból w fazie podtrzymywania. Ponieważ cały wykonywany kod jest podzielony, ustalenie, jaka część kodu będzie zaangażowana w czasie wykonywania, może być dość trudne. Może to prowadzić do subtelnych i trudnych do debugowania problemów, gdy ktoś doda nowe moduły obsługi zdarzeń. …

9
Używać metody konstruktora lub setera?
Pracuję nad kodem interfejsu użytkownika, w którym mam Actionklasę, coś takiego - public class MyAction extends Action { public MyAction() { setText("My Action Text"); setToolTip("My Action Tool tip"); setImage("Some Image"); } } Kiedy ta klasa Action została utworzona, prawie zakładano, że Actionklasy nie będzie można dostosowywać (w pewnym sensie - …

3
Git: Naprawienie błędu dotyczącego dwóch gałęzi
Opieram moje repozytorium Git na udanym modelu rozgałęziania Git i zastanawiałem się, co się stanie, jeśli masz taką sytuację: Powiedzmy, że rozwijam dwie gałęzie funkcji A i B, a B wymaga kodu z A. Węzeł X wprowadza błąd w funkcji A, który wpływa na gałąź B, ale nie jest to …
16 git  bug  branching 


1
Jak można ulepszyć Javę, aby nie musiała już przeprowadzać kasowania typu?
Oficjalny poradnik Java na generycznych wyjaśnia typu skasowaniu i dlatego dodano do kompilatora: Po utworzeniu instancji typu ogólnego kompilator tłumaczy te typy za pomocą techniki zwanej kasowanie typu - proces, w którym kompilator usuwa wszystkie informacje związane z parametrami typu i argumentami typu w klasie lub metodzie. Usuwanie typu umożliwia …
16 java  jvm 


1
Dlaczego niektóre projekty open source nie akceptują żądań ściągania, a jedynie przesyłanie plików łatek pocztą e-mail
Dlaczego niektóre projekty Open Source nie akceptują żądań ściągania, ale wymagają od autorów tylko łatania plików e-mail? np. Git Chociaż publikują kod w github lub innym hostowanym serwerze SCM. Wysyłanie plików łatek nie jest interaktywne ani wygodne. Plik łatki jest staromodny. Żądania ściągania są interaktywne. Inne osoby mogą również dyskutować.

3
Eksperymenty korelujące miary kodu z gęstością błędów
Zastanawiam się, czy ktoś przeprowadził jakieś eksperymenty korelujące metryki kodu (SLOC, cykliczność złożoności itp.) Z gęstością błędów w aplikacjach obiektowych. Nie szukam eksperymentów, które tylko dowodzą lub obalają korelację, ale na obu. Nie próbuję znaleźć srebrnej kuli, ponieważ uważam, że gęstość błędów w projekcie może korelować z co najmniej jedną …

3
Co to jest upcasting / downcasting?
Kiedy uczysz się o polimorfizmie, często widzisz coś takiego class Base { int prv_member; virtual void fn(){} } class Derived : Base { int more_data; virtual void fn(){} } Co to jest upcasting lub downcasting? Czy (Derived*)base_ptr;jest upcast lub downcast? Nazywam to upcastem, ponieważ odchodzisz od bazy w coś bardziej …



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.