Inżynieria oprogramowania

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


7
Czy funkcje biblioteki C powinny zawsze oczekiwać długości łańcucha?
Obecnie pracuję nad biblioteką napisaną w C. Wiele funkcji tej biblioteki oczekuje łańcucha jako char*lub const char*w swoich argumentach. Zacząłem od tych funkcji, które zawsze oczekiwały długości łańcucha, size_taby nie było wymagane zakończenie zerowe. Jednak podczas pisania testów spowodowało to częste korzystanie z strlen(): const char* string = "Ugh, strlen …
15 c  api  strings 

4
Zbliżanie się do elementów wewnętrznych Java / JVM [zamknięte]
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 4 lata temu . Programuję w Javie od około 8 lat i znam język dość dobrze jako programista, ale …
15 java  books  jvm 


2
Kto był pierwszym programistą?
Czy wśród historyków istnieje konsensus co do tego, kto był pierwszym programistą? Jeśli tak, to kto to był i nad czym programował? Bardziej interesuje mnie wiedza na temat pionierów programowania, niezależnie od tego, czy programowali na maszynie programowalnej, czy też sami zaprojektowali maszynę do wykonywania pewnych zadań obliczeniowych.
15 history 


4
Czy w MVC kilka widoków może mieć ten sam kontroler, czy jeden widok musi mieć jeden unikalny kontroler?
Mam kilka pytań podczas projektowania architektury dla projektu wokół MVC. (Jest to projekt C ++ / Marmalade SDK, nie używam żadnego konkretnego frameworka MVC, robię go.) W kilku artykułach (jak na oryginalnym artykule Steve'a Burbka ) wciąż czytam pojęcie „triada MVC”, co mnie denerwuje, ponieważ wziąłem tę koncepcję dosłownie. Kiedy …

5
Co oznacza „natywna obsługa funkcji” w języku programowania?
Przeszedłem przez linię podobną do tej: „PHP nie ma natywnej obsługi Unicode”. Przeczytałem również, że Python ma natywne wsparcie dla Unicode. Teraz możesz wywołać funkcję utf8_encode()w PHP, aby zakodować ciąg znaków w Unicode, i możesz użyć funkcji unicode()w Pythonie, aby przekonwertować ciąg znaków na Unicode. Co to znaczy natywnie obsługiwać …

4
Ile szczegółów na temat historii użytkownika może oczekiwać deweloper?
Największą wadą zwinnego rozwoju, z jaką się spotkałem, jest to, że ludzie nie zaangażowani w rozwój koncentrują się na mantrze, że historia użytkownika (3-10 idealnych osobodni) nie powinna zawierać więcej niż 1-3 zdań takich jak: Jako klient mogę korzystać z wyszukiwania tekstowego, aby znaleźć produkty, których szukam. Dając to zdanie, …

5
Czy śledzenie małp jest uważane za dobrą praktykę programowania?
Miałem wrażenie, że monkeypatching jest bardziej w kategorii szybkiego i brudnego hacka, niż w standardowej dobrej praktyce programowania. Chociaż od czasu do czasu używałem do naprawy drobnych problemów z bibliotekami stron trzecich, uważałem to za tymczasowe i przesyłam odpowiednią łatkę do projektu strony trzeciej. Jednak widziałem tę technikę jako „normalną …

3
Kiedy korzeń zagregowany powinien zawierać inny AR (a kiedy nie powinien)
Zacznę od przeprosin za długość posta, ale naprawdę chciałem przekazać z góry tyle szczegółów, aby nie tracić czasu na komentarze. Projektuję aplikację zgodnie z podejściem DDD i zastanawiam się, jakie wskazówki mogę zastosować, aby ustalić, czy Root Aggregate powinien zawierać inny AR, czy też powinny być pozostawione jako osobne, „wolnostojące” …

7
Jak dostosować Scrum do środowiska akademickiego?
Obecnie współpracuję z profesorem na moim uniwersytecie, aby opracować nowe programy nauczania dla kursów inżynierii oprogramowania i projektowania Capstone oferowanych na mojej uczelni. Do niedawna oba kursy korzystały wyłącznie z modelu wodospadu, dlatego uczniowie spędzali większość czasu na pisaniu długich raportów. Po mojej dużej presji mój profesor postanowił włączyć Scrum …

4
Czy ma sens pisanie skryptów kompilacji w C ++?
Używam CMake do generowania moich projektów IDE / makefiles, ale nadal muszę wywoływać niestandardowe „skrypty”, aby manipulować moimi skompilowanymi plikami, a nawet generować kod. W poprzednich projektach korzystałem z Pythona i było OK, ale teraz mam poważne problemy z zarządzaniem wieloma zależnościami w dwóch bardzo dużych projektach, nad którymi pracuję, …

3
Dlaczego najlepiej korzystać z kolekcji pierwszej klasy?
Zgodnie z zasadą nr 4 Object Calisthenics autorstwa Jeffa Baya (RTF) w The ThoughtWorks Anthology zaleca się, aby „ używać kolekcji pierwszej klasy ”. Zasada 4: Kolekcje pierwszej klasy Stosowanie tej reguły jest proste: każda klasa zawierająca kolekcję nie powinna zawierać innych zmiennych składowych. Każda kolekcja jest pakowana we własną …

6
Jak określić priorytet i wagę „ulepszenia kodu”?
W naszym systemie śledzenia błędów mamy pola „priorytet” i „ważność”. Istotność definiujemy jako „jak wpływa na użytkownika”, a priorytet na „jak wpływa na produkt”. Moje pytanie dotyczy tego, jak sklasyfikować zadanie „poprawy kodu” pod względem ważności i priorytetu. Załóżmy, że ulepszenie nie zmienia żadnego zachowania, ale czyni go „lepszym kodem”. …

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.