Tak więc, starając się napisać program do koniugacji czasowników (algorytmicznie, nie poprzez zbiór danych) dla języka francuskiego, natknąłem się na niewielki problem. Algorytm koniugacji czasowników jest właściwie dość prosty w przypadku 17 lub więcej przypadków czasowników i działa według określonego wzorca dla każdego przypadku; dlatego sufiksy koniugacji dla tych 17 …
Program CS mojej szkoły unika jakiejkolwiek wzmianki o programowaniu obiektowym, więc czytam sam, aby go uzupełnić - w szczególności Object Oriented Software Construction autorstwa Bertrand Meyer. Meyer wielokrotnie podkreśla, że klasy powinny ukrywać jak najwięcej informacji o ich implementacji, co ma sens. W szczególności wielokrotnie argumentuje, że atrybuty (tj. Statyczne, …
Deskryptor „Engine” jest często używany: silnik graficzny, silnik RegEx, silnik AI itp., Ale co tak naprawdę czyni oprogramowanie silnikiem? Projekt, wejście / wyjście, cel, rozmiar?
Jeśli chcę zapisać i pobrać obiekt, czy powinienem utworzyć inną klasę do obsługi go, czy lepiej byłoby to zrobić w samej klasie? A może mieszanie obu? Które jest zalecane zgodnie z paradygmatem OOD? Na przykład Class Student { public string Name {set; get;} .... public bool Save() { SqlConnection con …
Czy przy podawaniu metody logiki biznesowej w celu uzyskania encji domeny parametr powinien akceptować obiekt lub identyfikator? Na przykład, czy powinniśmy to zrobić: public Foo GetItem(int id) {} albo to: public Foo GetItem(Foo foo) {} Wierzę w przekazywanie obiektów w całości, ale co z tym przypadkiem, w którym otrzymujemy przedmiot …
Kilka miesięcy temu przeczytałem Czysty kod wuja Boba , który miał ogromny wpływ na sposób, w jaki piszę kod. Nawet jeśli wydawało się, że powtarza rzeczy, które każdy programista powinien wiedzieć, zebranie ich wszystkich razem i wdrożenie ich w praktyce skutkuje znacznie czystszym kodem. W szczególności odkryłem, że dzielenie dużych …
Budując nietrywialną aplikację, najlepiej skupić się na szybkim działaniu i na skrótach w kodzie, takich jak mieszanie logiki modelu z widokami, łamanie enkapsulacji - typowy zapach kodu? Lub, czy lepiej jest poświęcić czas na zbudowanie większej architektury, zbudować ją poprawnie, ale ryzykując, że cały ten dodatkowy kod może nie zostać …
Czy są jakieś techniki programowania, które okażą się nadużywane (IE są używane o wiele bardziej niż powinny) lub nadużywane, lub używane trochę do wszystkiego, nie będąc jednocześnie dobrym rozwiązaniem wielu problemów, które ludzie próbują rozwiązać z tym. Mogą to być wyrażenia regularne, jakiś wzorzec projektowy, a może algorytm lub coś …
Jeśli chodzi o interfejsy API JSON, czy dobrą praktyką jest spłaszczanie odpowiedzi i unikanie zagnieżdżonych obiektów JSON? Jako przykład powiedzmy, że mamy interfejs API podobny do IMDb, ale do gier wideo. Istnieje kilka encji: Gra, Platforma, ESRBRating i GamePlatformMap, która mapuje Gry i platformy. Powiedzmy, że żądasz / game / …
Załóżmy, że właśnie zacząłeś pracować w bardzo małym zespole przy {obecnie stosunkowo małym, ale mam nadzieję, że większym później} projekcie. Należy pamiętać, że jest to rzeczywisty projekt przeznaczony do wykorzystania przez innych programistów w prawdziwym świecie, a nie jakiś projekt akademicki, który ma zostać złomowany pod koniec semestru. Jednak kod …
Czy istnieje jakiś wzorzec projektowy dla dowolnego programu obiektowego? Pytam o to, ponieważ ostatnio widziałem implementację Doorklasy z Lock. Było to częścią testu, a odpowiedź brzmiała, że kod jest zgodny ze wzorcem Null Object: class Lock { public: virtual void close() = 0; virtual void open() = 0; virtual bool …
Swoją karierę jako programista .NET rozpocząłem 3 miesiące temu i po długim planie szkoleniowym na temat różnych technologii, wzorców i koncepcji programiści, którzy mnie nadzorowali, zdecydowali, że jestem gotów dołączyć do jednego z wielu projektów obsługiwanych przez firmę. Jestem bardzo podekscytowany, że w końcu mogę zacząć kodować. Zespół, do którego …
Od kilku lat rozwijam systemy współbieżne i całkiem dobrze rozumiem ten temat, pomimo braku formalnego wykształcenia (tj. Bez dyplomu). Istnieje kilka nowych języków, o których ostatnio ostatnio mówi się, a które mają ułatwić współbieżność, takich jak Erlang i Go. Wygląda na to, że ich podejście do współbieżności odzwierciedla moje własne …
Pisząc kod lub podczas projektowania, próbujesz uogólnić problem w pierwszej instancji lub rozwiązać bardzo specyficzny problem. Pytam o to, ponieważ próba uogólnienia problemu komplikuje rzeczy (co może nie być konieczne), az drugiej strony bardzo trudno będzie rozszerzyć konkretne rozwiązanie, jeśli nastąpi zmiana w wymaganiu. Myślę, że rozwiązaniem jest znalezienie środkowej …
Kiedyś w dużej mierze polegałem na zmiennych sesji, ale ostatnio stwierdziłem, że wiele z nich jest niepotrzebnych, zamiast tego używam takich parametrów, jak parametry ciągu zapytania. Mój kolega nie chce używać zmiennych sesji. Czy jest to realistyczny cel i czy należy unikać zmiennych sesji z jakichkolwiek praktycznych powodów? Czy można …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.