Inżynieria oprogramowania

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

9
Jak radzić sobie z błędnymi przekonaniami o „przedwczesnej optymalizacji jest źródłem wszelkiego zła”?
Spotkałem wielu ludzi, którzy są dogmatycznie przeciwni czemukolwiek, co można uznać za „optymalizację” w ogólnym znaczeniu tego słowa w języku angielskim, i bardzo często cytują dosłownie (częściowo) cytat „przedwczesna optymalizacja jest źródłem wszelkiego zła” jako uzasadnienie ich stanowiska, sugerując, że interpretują wszystko, o czym mówię, jako „przedwczesną optymalizację”. Jednak te …

1
Jaki jest cel analizy kodu i kiedy muszę go używać?
Słyszałem o analizie kodu Visual Studio, ale nigdy jej nie użyłem. Przeczytałem MSDN , ale nadal nie rozumiem prawdziwego zastosowania analizy kodu. Czy to nie to samo co StyleCop? Gdzieś wspomniano także o FxCop. Jaka jest różnica w analizie kodu? Czy muszę używać analizy kodu dla każdego projektu? Czy recenzje …



3
Utrzymywać użytkownika i profil użytkownika w różnych tabelach?
Widziałem w kilku projektach, że programiści wolą przechowywać niezbędne informacje o użytkowniku w jednej tabeli (adres e-mail / login, hash hasła, nazwa ekranowa), a resztę nieistotnego profilu użytkownika w innej (data utworzenia, kraj itp.). Przez niepotrzebne rozumiem, że dane te są potrzebne tylko od czasu do czasu. Oczywistą korzyścią jest …

7
Czy istnieje jakiś praktyczny sposób, aby struktura połączonego węzła była niezmienna?
Postanowiłem napisać pojedynczo połączoną listę i miałem plan, aby wewnętrzna struktura połączonego węzła była niezmienna. Wpadłem jednak na przeszkodę. Powiedz, że mam następujące połączone węzły (z poprzednich addoperacji): 1 -> 2 -> 3 -> 4 i powiedz, że chcę dołączyć 5. Aby to zrobić, ponieważ węzeł 4jest niezmienny, muszę utworzyć …

2
Jak zrobić dokumentację dla kodu i dlaczego oprogramowanie (często) jest słabo udokumentowane?
Istnieje kilka dobrych przykładów dobrze udokumentowanego kodu, takich jak Java Java API. Ale wiele kodu w projektach publicznych, takich jak git i projekty wewnętrzne firm, jest słabo udokumentowane i niezbyt przyjazne dla początkujących. Na wszystkich etapach rozwoju oprogramowania miałem do czynienia ze słabo udokumentowanym kodem. Zauważyłem następujące rzeczy - Brak …


9
Marzenie o deklaratywnym programowaniu [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 4 lata temu . Dlaczego nie zrealizowano marzenia o deklaratywnym programowaniu? Jakie przeszkody stoją na przeszkodzie? Dla …


5
Gdzie powinny odbywać się kontrole uprawnień użytkowników oraz MVC i przez kogo?
Czy kontrola modelu powinna odbywać się w modelu lub kontrolerze? A kto powinien obsługiwać sprawdzanie uprawnień, obiekt użytkownika lub pomocnika UserManagement? Gdzie to się powinno stać? Sprawdzanie w kontrolerze: class MyController { void performSomeAction() { if (user.hasRightPermissions()) { model.someAction(); } } ... Kontrola w kontrolerze ułatwia wykonywanie modeli przez proste …
26 mvc  permissions 

4
Dlaczego miałbym używać kontraktów kodowych
Niedawno natknąłem się na platformę Microsoft dotyczącą kontraktów kodowych. Przeczytałem trochę dokumentacji i ciągle pytałem: „Dlaczego miałbym kiedykolwiek chcieć to robić, ponieważ nie wykonuje i często nie może przeprowadzić analizy statycznej”. Teraz mam już pewien rodzaj defensywnego stylu programowania, z takimi wyjątkami: if(var == null) { throw new NullArgumentException(); } …

2
W jaki sposób kod JavaScript staje się asynchroniczny podczas korzystania z wywołań zwrotnych?
Dużo czytam w Internecie, próbując dowiedzieć się, jak napisać asynchroniczny kod JavaScript. Jedną z technik, która pojawiła się często w moich badaniach, jest użycie wywołań zwrotnych. Chociaż rozumiem proces pisania i wykonywania funkcji wywołania zwrotnego, jestem zdezorientowany, dlaczego wywołania zwrotne automagicznie sprawiają, że wykonywanie JavaScript jest asynchroniczne. Moje pytanie brzmi …

1
Jeśli wydam program na licencji GPL, czy muszę to nadal robić?
Rozważ ten scenariusz: Tworzę program FooSuite, który korzysta z biblioteki QuuxTools na licencji GPL Wypuszczam program FooSuite 1.0 na licencji GPL Później odkrywam, że z jakiegoś powodu muszę licencjonować program komuś na innych warunkach. Stąd: Usuwam zależność od GPL poprzez QuuxTools, albo ... przepisanie programu, aby nie korzystał już z …
26 licensing  gpl 

5
Czy możliwe jest odczytanie pamięci z innego programu poprzez przydzielenie całej pustej przestrzeni w systemie?
Teoretycznie, jeśli miałbym zbudować program, który przydzieliłby całą nieużywaną pamięć w systemie i nadal żądałby coraz większej ilości pamięci, ponieważ inne aplikacje zwalniały pamięć, której już nie potrzebują, czy byłoby możliwe odczytanie ostatnio zwolnionej pamięci z innych aplikacji ? Czy jest to w jakiś sposób chronione przez nowoczesny system operacyjny? …

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.