Inżynieria oprogramowania

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

8
Co to jest piękny kod? [Zamknięte]
Często czytam, że programiści muszą pisać piękny kod, ale dla początkujących pozostaje niejasne, czym jest piękny kod i jak go rozpoznajesz? Następnym pytaniem jest: jak napisać piękny kod i jakie są praktyczne nawyki, aby poprawić jakość kodu? , o co powinienem dbać, aby kod, który piszę był piękny (i czego …

7
Kiedy powinienem pisać testy integracyjne?
Zgodnie z zasadami testów jednostkowych TDD są pisane przed kodem produkcyjnym, ale co z testami integracyjnymi, które ćwiczą interakcję między konkretnymi (nie udawanymi) obiektami przewodowymi? Czy powinny być napisane przed testami jednostkowymi czy po kodzie produkcyjnym, aby przetestować „okablowanie”? Pamiętaj, że nie mówię o testach akceptacyjnych ani funkcjonalnych, ale testach …

2
Zastosowanie Denotational Semantics do projektowania programów
Przeczytałem trochę na temat semantyki denotacyjnej (DS) i jestem bardzo zaintrygowany procesem projektowania programów komputerowych, w których typy i funkcje mają silne i wyraźne odwzorowania na matematykę. Czy są jakieś zasoby, które szczegółowo omawiają projektowanie programów opartych na DS? Widziałem kilka powierzchownych zabiegów na ten temat. Jestem biegły w Haskell, …
30 scala  haskell  scheme 

11
Jak działa „Czwarty wymiar” z tablicami?
Abstrakcyjny: Tak więc, jak rozumiem (chociaż mam bardzo ograniczone rozumienie), istnieją trzy wymiary, z którymi (zwykle) pracujemy fizycznie: Pierwszy byłby reprezentowany przez linię. Drugi byłby reprezentowany przez kwadrat. Trzeci byłby reprezentowany przez sześcian. Wystarczająco proste, dopóki nie dotrzemy do czwartego - Trudno jest narysować w przestrzeni 3D, jeśli wiesz, co …
30 theory  array 

10
Biorąc pod uwagę stado koni, jak znaleźć średnią długość rogu wszystkich jednorożców?
Powyższe pytanie jest abstrakcyjnym przykładem typowego problemu, który napotykam w starszym kodzie, a ściślej - problemów wynikających z poprzednich prób rozwiązania tego problemu. Mogę wymyślić co najmniej jedną metodę platformy .NET, która ma rozwiązać ten problem, podobnie jak Enumerable.OfType<T>metoda. Ale fakt, że ostatecznie kończysz przesłuchiwanie typu obiektu w czasie wykonywania, …

2
Fałszywe wyjaśnienie budzenia brzmi jak błąd, którego nie warto naprawiać, prawda?
Według artykułu w Wikipedii na temat Spurious Wakeups „wątek może zostać przebudzony ze stanu oczekiwania, mimo że żaden wątek nie zasygnalizował zmiennej warunku”. Chociaż wiem o tej „funkcji”, nigdy nie wiedziałem, co ją spowodowało, aż w tym samym artykule „Nieprawidłowe wybudzanie może wydawać się dziwne, ale w niektórych systemach wieloprocesorowych, …

3
Jak radzić sobie z dobroczynnymi współpracownikami open source?
Jeśli programista skontaktuje się z tobą i poprosi o wkład w swój projekt, jak sobie z tym poradzisz? Nie wiesz, czy ten facet jest dobry. Być może będzie miał więcej kłopotów niż jest wart. Być może próbuje dołączyć swoje imię do udanego projektu tylko dla uznania. Być może próbuje poprowadzić …

11
Jakie czynniki powinny wpłynąć na to, jak określić, kiedy porzucić mały projekt z przyjacielem? [Zamknięte]
Ostatnio znalazłem się w trudnym miejscu. Pracuję nad grą z programistą od prawie 8 miesięcy. Oboje zaczęliśmy jako początkujący programista około sierpnia ubiegłego roku, jest studentem CS na drugim roku, jestem z zawodu technikiem wsparcia IT i jestem samoukiem z mnóstwem książek i subskrypcji online. Problem, który ciągle widzę, polega …



7
Czy powinienem testować odziedziczone metody?
Załóżmy, że mam menedżera klas wywodzącego się z pracownika klasy podstawowej i że pracownik ma metodę getEmail (), która jest dziedziczona przez menedżera . Czy powinienem sprawdzić, czy zachowanie metody getEmail () menedżera jest w rzeczywistości takie samo jak zachowanie pracownika? W momencie pisania tych testów zachowanie będzie takie samo, …

6
Programowanie w parach, gdy kierowca i obserwator mają różne poziomy umiejętności i doświadczenie
Wiem, że programowanie w parach jest zwinną techniką tworzenia oprogramowania, w której dwóch programistów pracuje razem na jednym stanowisku roboczym. Jeden, kierowca, pisze kod, a drugi, obserwator, przegląda każdą linię kodu podczas wpisywania. Ale zastanawiam się, czy strategia nadal działa w tej sprawie. Na przykład jeśli mają zupełnie inny poziom …

1
Wnioskowanie typu w Javie 8
Czy wprowadzenie nowej notacji lambda (patrz np. Ten artykuł ) w Javie 8 będzie wymagało pewnego rodzaju wnioskowania typu? Jeśli tak, to w jaki sposób nowy system typów wpłynie na język Java jako cał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.