Inżynieria oprogramowania

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

1
Zmiana sygnatury metody implementacji klas w PHP
Czy istnieje jakieś przyzwoite rozwiązanie problemu braku generycznych wersji PHP, które umożliwiają statyczną kontrolę kodu w celu wykrycia spójności typu? Mam klasę abstrakcyjną, którą chcę podklasować, a także wymuszam zmianę jednej z metod z przyjmowania parametru jednego typu na przyjmowanie parametru, który jest podklasą tego parametru. abstract class AbstractProcessor { …


6
Dlaczego wątki nazywane są wątkami?
Rozumiem, że proces to jednostka własności zasobów i instrukcje wykonywalne. Wątki pozwalają procesowi współużytkować zasoby z wieloma wykonaniami, a systemowi operacyjnemu łatwiej jest zaplanować wątki z powodu całego obciążenia związanego z całymi procesami. Ale dlaczego nazwa wątku ? Czy ma jakieś odniesienie do łańcucha lub przeplatania wykonania? Mimo to moim …

3
Jakie uzasadnienie stosuje się, gdy projektanci języków programowania decydują, jaki znak ma wynik działania modulo?
Przechodząc przez operację Modulo (aleję, którą wszedłem, badając różnicę między remimod ) natknąłem się na: W matematyce wynikiem operacji modulo jest pozostała część podziału euklidesowego. Możliwe są jednak inne konwencje. Komputery i kalkulatory mają różne sposoby przechowywania i reprezentowania liczb; dlatego ich definicja działania modulo zależy od języka programowania i …

2
Jak wyjaśnić, że marnujemy czas programisty na dodawanie niepotrzebnych funkcji?
Więc poprowadziłem szarżę wraz z innymi inżynierami, aby przynajmniej zacząć „myśleć” o Lean. Dotarliśmy do kilku głównych obszarów odpadów, a 2/3 prowadzi do dokładnie tego samego punktu ... „Funkcje dodatkowe”. Dogfoodujemy własne oprogramowanie na dwóch frontach, sprzedaży i zarządzaniu projektami. Działa świetnie w przypadku sprzedaży, ponieważ właśnie do tego CRM …

2
DDD: Czy niezmienne obiekty mogą być również bytami?
Przeczytałem niezliczoną liczbę postów na temat różnic między obiektami a obiektami Value i chociaż myślę, że przynajmniej koncepcyjnie rozumiem, jak te dwie rzeczy się różnią, wydaje się, że w niektórych z tych postów autorzy uważają określoną koncepcję domeny za VO po prostu dlatego, że jest niezmienny (a zatem jego stan …

2
Czy istnieją alternatywy dla modelu stosu + sterty + pamięci statycznej?
Wszystkie programy, które widziałem, organizują pamięć danych w jeden lub więcej stosów wywołań (zwykle o ustalonym rozmiarze, ale czasem nie), stertę i pamięć statyczną. Ostatnio dodano do tego również statyczne przechowywanie wątków lokalne. Czy próbowano zorganizować układ pamięci danych w zupełnie inny sposób, np. Bez stosu wywołań? Lub uporządkować pamięć …

2
Jaki jest powód, dla którego standard C rozważa rekurencyjność?
Norma C99 mówi w 6.5.16: 2: Operator przypisania ma modyfikowalną wartość jako lewy operand. oraz w 6.3.2.1:1: Zmienna wartość jest wartością, która nie ma typu tablicowego, nie ma typu niekompletnego, nie ma typu stałego kwalifikowania, a jeśli jest strukturą lub związkiem, nie ma żadnego elementu (w tym, rekurencyjnie, żadnego elementu …
9 design  c 


4
Programowanie .NET i klasy POCO
Myślałem dziś wieczorem, zastanawiając się nad aplikacją, którą muszę zmienić i przyszło mi to do głowy. Entity Framework Entities to POCO (Plain old CLR Objects), a modele używane w ASP.NET MVC są zwykle również POCO. Zasadniczo oznacza to tylko właściwości, bez metod. Teraz programowanie OO normalnie pozwala obiektowi obudować jego …

4
Gdzie obiekt w CQRS + ES powinien być w pełni zainicjowany: w konstruktorze lub podczas stosowania pierwszego zdarzenia?
Wydaje się, że istnieje powszechna zgoda w społeczności OOP, że konstruktor klasy nie powinien pozostawiać obiektu częściowo, a nawet całkowicie niezainicjowanego. Co rozumiem przez „inicjalizację”? Z grubsza mówiąc, proces atomowy , który wprowadza nowo utworzony obiekt w stan, w którym utrzymują się wszystkie niezmienniki jego klasy. Powinna być pierwszą rzeczą, …

4
Dlaczego duże zbiory danych muszą być funkcjonalne?
Rozpocząłem ostatnio pracę nad nowym projektem związanym z Big Data na mój staż. Moi menedżerowie zalecili rozpoczęcie nauki programowania funkcjonalnego (gorąco polecili Scalę). Miałem skromne doświadczenie w korzystaniu z F #, ale nie widziałem, jak ważne jest stosowanie tego paradygmatu programowania, ponieważ w niektórych przypadkach jest on drogi. Dean wygłosił …

4
Style kodowania przy użyciu kilku różnych bibliotek
Pracuję nad jakimś kodem C ++, który wykorzystuje kilka bibliotek, w tym niektóre biblioteki C, które wszystkie mają różne style kodowania. Zostanie otwarty, gdy osiągnie etap użyteczności. Co spowodowałoby najmniej zamieszania u krótkoterminowego współpracownika, który sprawdza kod, aby naprawić jeden błąd lub dodać jedną funkcję? Korzystaj z jednego spójnego stylu …

3
używa PUT z wpływami bocznymi akceptowalnymi (REST)
Chcę utworzyć historię cofania za każdym razem, gdy użytkownik aktualizuje formularz. Ponieważ jest to aktualizacja, chcę użyć żądania PUT. Jednak przeczytałem, że PUT nie musi mieć żadnych skutków ubocznych . Czy dopuszczalne jest użycie PUT tutaj? Czy są lepsze alternatywy? PUT /person/F02E395A235 { time: 1234567, fields: { name: 'John', age: …


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.