Inżynieria oprogramowania

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




2
Jaka jest etykieta zmiany nazwy widelca typu open source?
Chcę rozwidlić w Github platformę testową Java TestNG (licencja Apache 2), aby móc dodawać / zmieniać niektóre drobne rzeczy, które odpowiadają moim potrzebom. Jest mało prawdopodobne, że wszystkie moje zmiany zostaną zatwierdzone w głównym projekcie lub że inni ludzie skorzystaliby z mojego widelca. W żaden sposób nie byłby to konkurs …

9
Przerwanie linii przed / za operatorem [zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . Podczas gdy konwencja kodu Java firmy Sun sugeruje umieszczenie podziału linii przed operatorem, …

8
Metodologia: Pisanie testów jednostkowych dla innego programisty
Myślałem o rozwoju oprogramowania i pisaniu testów jednostkowych. Mam następujący pomysł: Załóżmy, że mamy pary programistów. Każda para odpowiada za część kodu. Jeden z pary implementuje funkcję (pisanie kodu), a drugi pisze dla niej testy jednostkowe. Testy są pisane po kodzie. Według mnie pomagają sobie nawzajem, ale działają raczej osobno. …

3
Opcjonalne parametry lub przeciążone konstruktory
Wdrażam a DelegateCommand, kiedy miałem zaimplementować konstruktora (-ów), zaproponowałem dwie następujące opcje projektu: 1: Posiadanie wielu przeciążonych konstruktorów public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: Posiadanie tylko jednego konstruktora z opcjonalnym parametrem public DelegateCommand(Action<T> …

7
Czy moja firma łączy oddziały w niewłaściwy sposób?
Ostatnio natknąłem się na artykuł MSDN na temat rozgałęziania i łączenia oraz SCM: Rozgałęzianie i łączenie podkładu - Chris Birmele . W artykule mówią, że „połączenie wielkiego wybuchu” to łączący się antypattern: Big Bang Merge - odroczenie połączenia gałęzi do końca prac rozwojowych i próba scalenia wszystkich gałęzi jednocześnie. Uświadomiłem …

4
Używanie #ifdef do przełączania między różnymi typami zachowań podczas programowania
Czy dobrą praktyką jest używanie #ifdef podczas programowania do przełączania różnych typów zachowań? Na przykład chcę zmienić zachowanie istniejącego kodu, mam kilka pomysłów, jak zmienić zachowanie i konieczne jest przełączanie się między różnymi implementacjami, aby przetestować i porównać różne podejścia. Zwykle zmiany w kodzie są złożone i wpływają na różne …

6
Dlaczego nie mogę sprawdzić, czy muteks jest zablokowany?
Wydaje się, że w C ++ 14 pominięto mechanizm sprawdzania, czy std::mutexblokada jest zablokowana, czy nie. Zobacz to SO pytanie: /programming/21892934/how-to-assert-if-a-stdmutex-is-locked Jest na to kilka sposobów, np. Przy użyciu; std::mutex::try_lock() std::unique_lock::owns_lock() Ale żadne z nich nie jest szczególnie satysfakcjonującym rozwiązaniem. try_lock()dozwolone jest zwracanie fałszywego ujemnego i ma niezdefiniowane zachowanie, jeśli …
28 c++ 


7
Czy wartość stałej może być zmieniana w czasie?
Na etapie programowania istnieją pewne zmienne, które muszą być ustalone w tym samym przebiegu, ale z czasem mogą wymagać modyfikacji. Na przykład, booleanaby zasygnalizować tryb debugowania, więc robimy rzeczy w programie, których normalnie byśmy nie zrobili. Czy źle jest przechowywać te wartości w stałej, tj. final static int CONSTANT = …
28 const  constants 


2
NoSQL w SQL Server
To pytanie nie dotyczy różnicy między SQL a NoSQL. Szukam jakiegoś uzasadnienia dla czegoś, co w tej chwili naprawdę nie ma dla mnie sensu (może z powodu mojego braku zrozumienia lub uznania). Nowy projekt rozpoczęliśmy od zera przy użyciu MVC5, kodu Entity Framework 6 i SQL Server 2008. Kiedy architekt …
28 sql  sql-server  nosql 

1
Jak radzić sobie z błędnie nazwaną funkcją w kodzie produkcyjnym?
Ostatnio natrafiłem na bibliotekę Python na GitHub. Biblioteka jest świetna, ale zawiera jedną rażącą literówkę w nazwie funkcji. Nazwijmy to dummy_fuction()tak, jak powinno być dummy_function(). Ta funkcja jest zdecydowanie „na wolności” i najprawdopodobniej używana w systemach wbudowanych. Pierwszą rzeczą, jaka przychodzi mi do głowy, jest dodanie drugiej wersji funkcji o …

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.