Inżynieria oprogramowania

13
Dlaczego tablice C nie mogą mieć długości 0?

Standard C11 mówi, że tablice, zarówno o wielkości, jak i o zmiennej długości „powinny mieć wartość większą niż zero”. Jakie jest uzasadnienie niedopuszczenia długości 0? Zwłaszcza w przypadku tablic o zmiennej długości doskonale jest mieć rozmiar zero co jakiś czas. Jest także przydatny w...

13
Kwestionując jeden z argumentów dotyczących struktur wstrzykiwania zależności: Dlaczego tworzenie wykresu obiektowego jest trudne?

Ramy wstrzykiwania zależności, takie jak Google Guice, dają następującą motywację do ich użycia ( źródło ): Aby zbudować obiekt, najpierw zbuduj jego zależności. Ale aby zbudować każdą zależność, potrzebujesz jej i tak dalej. Więc kiedy budujesz obiekt, naprawdę musisz zbudować wykres obiektu....

13
Strategia testowania gier

Odziedziczyłem internetową grę edukacyjną. W ciągu ostatniego roku pracowałem nad ustabilizowaniem kodu i dodaniem nowych funkcji. Większość logiki znajduje się w interfejsie, więc testy jednostek zaplecza, choć pomocne, obejmują niewielki procent kodu. Gra osiągnęła punkt, w którym zaczyna się...

13
Jak efektywnie obliczyć obrót figury?

Mam figurę reprezentowaną przez macierz bajtów (macierz bitmapowa). Przykładowy rysunek pokazano na Picture 1. Celem jest znalezienie najlepszego kąta obrotu danej figury . Kiedy rysunek jest obracany o najlepszy kąt, prostokąt, który jest równoległy do ​​osi X i Y i wpisuje rysunek, ma...

13
Kiedy używać bazy danych nosql, takiej jak mongodb over mysql?

Jestem nowy w koncepcji baz danych nosql i nigdy go nie użyłem. Na podstawie tego, co przeczytałem i tego, co zrozumiałem, wciąż nie widzę, w jaki sposób mogą być one szczególnie przydatne, jeśli nie można odwoływać się między danymi, jeśli nie istnieje koncepcja klucza obcego. Jak na przykład...

13
Jak uzależnić jeden test od wyników innego testu?

Załóżmy, że istnieje klasa narzędziowa, która udostępnia niektóre typowe metody statyczne używane wszędzie w kodzie przez wiele innych klas. Jak zaprojektowałbyś swoje testy jednostkowe dla konsumentów narzędzia, aby ich testy zakończyły się niepowodzeniem, jeśli którykolwiek z testów narzędzia...

13
Algorytm kolonii mrówek

Jestem studentem pracującym nad symulatorem kolonii mrówek dla projektu kursu. Algorytm do tego jest (oczywiście) algorytmem kolonii mrówek. Wiem, że istnieją różne formy algorytmu, ale wszystkie były dla nas zbyt matematyczne, więc przyjęliśmy podejście, w którym: Mrówka rodzi się w kolonii i...