Inżynieria oprogramowania

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

4
Czy szybka wersja główna jest dowodem złego projektu?
Kilka miesięcy temu podjąłem pracę jako młodszy programista. System, nad którym pracujemy, jest produkowany od około 2 lat. Nie brałem udziału w tworzeniu systemu i projektowaniu. Zauważyłem tylko, że główna wersja systemu ma już 11. YZ Z mojego doświadczenia w pracy z innymi systemami i bibliotekami, nie przypominam sobie, żeby …

5
Czy wspólna biblioteka to dobry pomysł?
Zawsze uważałem, że „wspólna biblioteka” to dobry pomysł. Rozumiem przez to bibliotekę, która zawiera wspólną funkcjonalność, która jest często potrzebna przez kilka różnych aplikacji. Powoduje to mniejsze powielanie / redundancja kodu. Niedawno przeczytałem artykuł (nie mogę teraz znaleźć), który stwierdził, że to rzeczywiście zły pomysł i posunąłem się do stwierdzenia, …
16 design  go 

4
Jak zmniejszyć wysiłek związany z ręcznym pakowaniem bibliotek stron trzecich w większy model obiektowy?
Podobnie jak autor tego pytania z 2012 roku i tego z 2013 roku , mam bibliotekę strony trzeciej, którą muszę spakować, aby poprawnie przetestować swoją aplikację. Najlepsza odpowiedź brzmi: Zawsze chcesz zawijać typy i metody stron trzecich za interfejsem. Może to być nudne i bolesne. Czasami możesz napisać generator kodu …


2
Czy ems są nadal aktualne?
Rozumiem po przeczytaniu wątków takich jak ten, że celem ems jest zdefiniowanie wszystkich pomiarów na twojej stronie, według podstawowego rozmiaru czcionki , który można ustawić w przeglądarce. Na przykład w Chrome możesz to zrobić, przechodząc settings -> show advanced settings -> web content -> font size: very large. Mógłbym to …
16 css 

1
Jak reprezentować zagnieżdżone działania na diagramie aktywności UML?
To pytanie jest bardzo podobne do tego , ale odpowiedź nie odpowiada moim potrzebom. Koncentruje się na konkretnym narzędziu UML (Papyrus), podczas gdy moje pytanie jest bardziej ogólne na temat UML. Chciałbym przedstawić zagnieżdżoną akcję na diagramie aktywności , ale nie wiem, jaki jest typowy sposób jej wykonania. Chodzi o …
16 uml  modeling 

4
Nie rozumiem wzorców projektowych programowania
Pracuję z javascript przez ostatnie 4 lata. Jestem bardzo pewny swoich umiejętności rozwiązywania problemów i widzę, że poprawia się jakość mojego kodu. Staram się być na bieżąco ze społecznością i obecnie pracuję z ES2015 i React.js. Wydaje mi się jednak, że nie jestem w stanie pojąć wzorców programowania. Wiem, gdzie …


5
Idiomatyczne użycie wyjątków w C ++
Wyjątkiem isocpp.org FAQ Zjednoczone Nie używaj rzutu, aby wskazać błąd kodowania podczas używania funkcji. Użyj aser lub innego mechanizmu, aby albo wysłać proces do debugera, albo zawiesić proces i zebrać zrzut awaryjny dla programisty do debugowania. Z drugiej strony standardowa biblioteka definiuje std :: logic_error i wszystkie jego pochodne, które …
16 design  c++  exceptions 

2
Co to jest Comonad i jak są one przydatne?
Ostatnio odkurza moją wiedzę na temat działania Monad. Ja również zostały wprowadzone do pojęcia „Comonad” , który jest opisany jako odwrotny podwójny z monady . Nie mogę jednak owinąć głowy wokół tego. Aby zrozumieć Monady, stworzyłem dla siebie własną analogię: Monady można postrzegać jako „plan budowy przenośników wyrażeń”. Aby zdefiniować …

6
Język oparty na ograniczonej liczbie argumentów przekazywanych do funkcji
Pomysł jest inspirowany faktem, że operatory takie jak +, -,% itd. Mogą być postrzegane jako funkcje z przekazanym jednym lub dwoma argumentami i bez efektów ubocznych. Zakładając, że ja lub ktoś inny pisze język, który zatrzymuje przekazywanie więcej niż dwóch argumentów, a także działa tylko poprzez wartość zwracaną: a) czy …

2
Dlaczego C # pozwala na asynchronizację zastępowania?
W języku C #, gdy przesłonisz metodę, dozwolone jest, aby zastąpienie było asynchroniczne, gdy oryginalna metoda nie była. To wygląda na kiepską formę. Przykładem, który mnie do tego przywiódł, był ten: zostałem sprowadzony, aby pomóc z problemem testu obciążenia. Przy około 500 jednoczesnych użytkownikach proces logowania rozpadłby się w pętli …
16 c#  async 

4
Jakie są wady mapowania integralnych identyfikatorów na wyliczenia?
Zastanawiałem się nad stworzeniem niestandardowych typów identyfikatorów takich jak ten: public enum CustomerId : int { /* intentionally empty */ } public enum OrderId : int { } public enum ProductId : int { } Moją podstawową motywacją do tego jest zapobieganie rodzajowi błędu, w którym przypadkowo przekazujesz orderItemId do …
16 c# 

1
Dlaczego ES6 nie ma funkcji cienkich strzałek?
ES6 dodał funkcje Fat-Arrow ( =>), które mają dwie główne różnice w stosunku do normalnych funkcji: krótsza składnia (w tym niejawny zwrot, jeśli używasz treści pojedynczego wyrażenia) dziedzicz thisz otaczającego zakresu Obie są bardzo przydatnymi funkcjami, ale wydają mi się całkowicie odrębne pod względem wartości i zastosowania - czasami chcę …
16 javascript  es6 

6
Metody debugowania kodu (sytuacja koszmaru)
Często mam zadanie debugowania aplikacji w mojej pracy. Jest to aplikacja BI, którą wdrażamy w firmach, która obejmuje środowisko testowe i środowisko produkcyjne. Zastanawiam się, czy istnieją jakieś aplikacje / narzędzia / metody, które ludzie mogą sugerować na podstawie tych ograniczeń: Debugera nie można używać na stronie klienta ani lokalnie, …
16 .net  vb.net  n-tier 

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.