Inżynieria oprogramowania

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

2
Jakie są konsekwencje przekształcenia oprogramowania typu open source w oprogramowanie typu open source?
Jeśli firma weźmie licencjonowaną aplikację open source, a następnie opracuje aplikację zamkniętą, przerabiając rozległe części aplikacji, dodając nowe funkcje i stosując poprawki błędów ... Ignorowanie wymagań licencji ... Jak przebiega przejście i co można zrobić, aby nie dopuścić do wybrania licencji różnicowej? Jakie są (etyczne lub społeczne) obowiązki firmy? (Na …


1
Wady funkcjonalnej formy pośredniej
Piszę optymalizator dla języka podobnego do JavaScript i muszę wybrać reprezentację kodu pośredniego. Oczywistym / typowym wyborem w dzisiejszych czasach jest Static Single Assignment (SSA). Jednak implementacja nowoczesnego kompilatora w C omawia również funkcjonalną formę pośrednią, co w zasadzie oznacza przejście na czystą funkcjonalność dla reprezentacji pośredniej (czysto pod względem …

1
Rozumowanie, by poczekać do trzeciej reguły w Regule Trzech?
Właśnie natknąłem się na artykuł „ Reguła trzech ” w Wikipedii Zasada trzech jest podstawową zasadą refaktoryzacji kodu, która decyduje, kiedy zreplikowany fragment kodu powinien zostać zastąpiony nową procedurą. Stwierdza, że ​​kod można skopiować raz, ale gdy trzy razy użyje się tego samego kodu, należy go wyodrębnić w nowej procedurze. …

6
Zaległości w zadaniach „wielkości kęsa” równolegle do zaległości funkcji „głównej”?
Po ponad dwóch latach pracy w wysoce wyciszonej strukturze działu rozwoju „samotnego wilka”, wdrażamy Agile SCRUM. Świetny. Lubię Agile; jako deweloper utrzymuje koncentrację, zajęcie i produktywność, nie zmuszając niezliczonych interesariuszy do popchnięcia projektu za projektem do gardła, oczekując, że wszystkie zostaną wykonane wczoraj. Jest jednak jeden aspekt przejścia na SCRUM …

7
Generowanie losowego wyrażenia matematycznego
Mam w głowie ten pomysł, aby generować i oceniać losowe wyrażenia matematyczne. Postanowiłem więc spróbować i opracować algorytm, zanim zakoduję go w celu przetestowania. Przykład: Oto kilka przykładowych wyrażeń, które chcę generować losowo: 4 + 2 [easy] 3 * 6 - 7 + 2 [medium] 6 * 2 + (5 …
16 algorithms 

10
Dlaczego potrzebujemy „funkcji oddzwaniania”?
Czytam książkę programming in Lua. Powiedział tak Zamknięcia stanowią cenne narzędzie w wielu kontekstach. Jak widzieliśmy, są one przydatne jako argumenty dla funkcji wyższego rzędu, takich jak sortowanie. Zamknięcia są cenne dla funkcji, które również budują inne funkcje, jak na przykład nasz nowy licznik; ten mechanizm pozwala programom Lua na …

6
Sesja HTTP lub podejście do bazy danych
Jestem trochę zdezorientowany co do mojego podejścia, pracuję nad projektem koszyka i muszę przechowywać koszyk w sesji lub w bazie danych, ale nie jestem pewien, które podejście byłoby najlepsze. Oto przypadek użycia Użytkownik nie jest zalogowany i nie dodaje produktu do koszyka (użytkownik anonimowy) Użytkownik jest zalogowany i dodaje produkt …


6
Czy to zły nawyk (nad) używanie refleksji?
Czy dobrą praktyką jest stosowanie odbicia, jeśli znacznie zmniejsza ilość kodu płyty grzewczej? Zasadniczo istnieje kompromis między wydajnością i być może czytelnością z jednej strony a abstrakcją / automatyzacją / redukcją kodu płyty kotłowej z drugiej strony. Edycja: Oto przykład zalecanego zastosowania odbicia . Dla przykładu załóżmy, że istnieje klasa …

2
Kiedy używać zagnieżdżonych zasobów w interfejsie API RESTful
Mam dwa zasoby: użytkowników i linki. Użytkownicy mogą mieć kilka linków powiązanych z nimi. Zaprojektowałem mój interfejs API RESTful, abyś mógł uzyskać dostęp do linków powiązanych z użytkownikiem o następującym identyfikatorze URI: /users/:id/links Jednak zawsze muszę mieć identyfikator URI dla samych łączy - czasami mogę chcieć wszystkich łączy, niezależnie od …
16 api  rest  api-design 

4
Strategia nadążania za zmianami języka (Python)
Pisanie kodu, który będzie działał za lata Zmieniają się języki programowania. Biblioteki się zmieniają. Niektóre kody sprzed 5, 10, a nawet 20 lat temu mogą nadal działać i dawać oczekiwane wyniki, podczas gdy niektóre kody sprzed 2 lat mogą zawieść z błędem składni. Jest to częściowo nieuniknione, ponieważ języki ewoluują …
16 python 

4
Przepływ pracy: Używanie formatów dokumentów binarnych w Git bez blokad (przejście z subversion)
Jesteśmy doradcą w zakresie oprogramowania z wieloma projektami dla różnych klientów. Tradycyjnie używamy Subversion, ale obecnie rozważamy przejście na Git. Znaczna część tworzonych przez nas dokumentów jest udostępniana naszym klientom (wymagania, projekty globalne, specyfikacje testów itp.), A do ich tworzenia używamy MS Office. W Subversion możemy użyć jego funkcji „Blokuj”, …
16 git  svn  dvcs  excel  word 

2
Czy te koncepcje SQL są przeznaczone dla początkujących, średnio zaawansowanych lub zaawansowanych programistów? [Zamknięte]
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 4 lata temu . Ostatnio uczyłem się SQL i ćwiczę z MySQL / Postgres, a wkrótce z Oracle DB. Szukałem również w Internecie …

3
Czy Agile jest odmianą RAD?
Wikipedia mówi, że Agile jest rodzajem „RAD”, które, jak sądzę, jest nieprawidłowe. Z tego, co wiem, Agile został opracowany, ponieważ sam RAD nie był tak skuteczny w latach 90-tych (zbyt sztywny dla zmian). A może się mylę? (Uwaga: najwyraźniej artykuł Wikipedii na temat rozwoju oprogramowania Agile został ulepszony pomiędzy nimi, …

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.