Inżynieria oprogramowania

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

10
Na jakich warunkach właściwe jest stosowanie MVVM?
Widok modelu View-Model został opracowany przez Microsoft w celu ukierunkowania platform programistycznych interfejsu użytkownika, które obsługują programowanie oparte na zdarzeniach, w szczególności Windows Presentation Foundation (WPF) i Silverlight na platformach .NET przy użyciu języków XAML i .NET. Przez lata wiele frameworków Javascript, takich jak Angular, Knockout i ExtJS, przyjęło ten …

4
Określanie przydatnego testu jednostkowego
Przeglądałem dokumenty phpunit i natrafiłem na następujący cytat: Zawsze możesz napisać więcej testów. Jednak szybko przekonasz się, że tylko ułamek testów, które możesz sobie wyobrazić, są w rzeczywistości przydatne. To, co chcesz, to pisać testy, które zawiodą, nawet jeśli uważasz, że powinny one działać, lub testy, które zakończą się powodzeniem, …

7
Warstwa aplikacji a warstwa domeny?
Czytam projektowanie oparte na domenie autorstwa Evansa i jestem w części, omawiając architekturę warstwową. Właśnie zdałem sobie sprawę, że warstwy aplikacji i domeny są różne i powinny być oddzielne. W projekcie, nad którym pracuję, są one mieszane i nie mogę powiedzieć różnicy, dopóki nie przeczytam książki (i nie mogę powiedzieć, …

11
Znaczenie asynchroniczny vs synchroniczny [zamknięty]
Co oznaczają słowa asynchroniczne i synchroniczne w informatyce? Jeśli użyjesz w Google znaczenia tych słów, otrzymasz: Asynchroniczny: nie istnieje lub nie występuje w tym samym czasie . Synchroniczny: istniejący lub występujący w tym samym czasie . Wygląda jednak na to, że są używane do przekazywania przeciwnego znaczenia w programowaniu lub …

3
Dlaczego wciąż zwiększamy stos do tyłu?
Podczas kompilowania kodu C i patrzenia na asembler wszystkie stosy rosną do tyłu w następujący sposób: _main: pushq %rbp movl $5, -4(%rbp) popq %rbp ret -4(%rbp)- Czy to oznacza, że ​​wskaźnik bazowy lub wskaźnik stosu przesuwają się w dół po adresach pamięci zamiast w górę? Dlaczego? Zmieniłem $5, -4(%rbp)się $5, …
46 c  memory  assembly 

7
Dlaczego stos wywołań ma statyczny maksymalny rozmiar?
Pracując z kilkoma językami programowania, zawsze zastanawiałem się, dlaczego stos wątków ma predefiniowany maksymalny rozmiar, zamiast rozszerzać się automatycznie w razie potrzeby. Dla porównania, niektóre bardzo popularne struktury wysokiego poziomu (listy, mapy itp.), Które można znaleźć w większości języków programowania, są zaprojektowane tak, aby rosły w miarę potrzeb, podczas gdy …
46 stack 



7
Co się stało z ograniczeniami bazy danych?
Kiedy przeglądam modele baz danych dla RDBMS, zwykle jestem zaskoczony, że nie znam żadnych ograniczeń (oprócz PK / FK). Na przykład wartość procentowa jest często przechowywana w kolumnie typu int(choć tinyintbyłoby bardziej odpowiednie) i nie ma CHECKograniczenia, aby ograniczyć wartość do zakresu 0..100. Podobnie w przypadku SE.SE odpowiedzi sugerujące ograniczenia …

7
Dlaczego setery łańcuchowe są niekonwencjonalne?
Zaimplementowanie tworzenia łańcuchów na fasoli jest bardzo przydatne: nie trzeba przeciążać konstruktorów, mega konstruktorów, fabryk i zapewnia większą czytelność. Nie mogę wymyślić żadnych wad, chyba że chcesz, aby twój obiekt był niezmienny , w którym to przypadku i tak nie miałby żadnych ustawień. Czy jest więc powód, dla którego nie …

4
Czy jest coś przełomowego w NoSQL? [Zamknięte]
Jestem bardzo solidnym facetem z relacyjnymi bazami danych i rozumiem aż do trzeciej normalnej postaci, doceniam algebraiczne podstawy teorii SQL i mogę prawdopodobnie powiązać złamane serce (lub nie). Nie opracowałem struktury relacyjnej bazy danych NA randki z żoną, ale myślałem o projektach relacyjnej bazy danych na randkach z żoną. Teraz …
46 nosql 


3
Dlaczego anemiczny model domeny jest uważany za zły w C # / OOP, ale bardzo ważny w F # / FP?
W poście na blogu na F # dla zabawy i zysku napisano: W funkcjonalnym projekcie bardzo ważne jest oddzielenie zachowania od danych. Typy danych są proste i „głupie”. A następnie osobno masz wiele funkcji, które działają na te typy danych. Jest to dokładne przeciwieństwo projektowania obiektowego, w którym zachowanie i …


7
Jak zmierzyć potencjalną wartość refaktoryzacji
Jak w wiarygodny sposób oszacować lub zmierzyć korzyści wynikające z refaktoryzacji kodu w starym, dużym projekcie z zadłużeniem technicznym? Załóżmy na przykład, że masz niektóre komponenty w stosie oprogramowania napisane w starszym języku, a niektóre późniejsze komponenty w nowszym języku. Zespół programistów stale dodaje do tego rozwiązania nowe funkcje 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.