Czytałem „Coders at Work” i stanąłem wobec faktu, że niektórzy profesjonaliści, z którymi przeprowadzono wywiady w książce, nie są tak entuzjastycznie nastawieni do wzorów. Myślę, że istnieją 2 główne powody: Wzory projektowe zmuszają nas do myślenia w ich kategoriach. Innymi słowy, prawie niemożliwe jest wynalezienie czegoś nowego (może lepszego). Wzory …
Staram się przyzwyczaić do regularnego pisania testów jednostkowych za pomocą mojego kodu, ale najpierw przeczytałem, że ważne jest, aby napisać testowalny kod . To pytanie dotyczy SOLIDNYCH zasad pisania kodu testowalnego, ale chcę wiedzieć, czy te zasady projektowania są korzystne (a przynajmniej nie szkodliwe), nie planując w ogóle pisania testów. …
W Code Complete strona 25 napisano, że dobrym pomysłem jest możliwość łatwego zastąpienia zwykłych klas interfejsu użytkownika klasą z linii poleceń. Znając jego zalety w testowaniu, co z problemami, jakie może to przynieść? Czy ta dodatkowa praca naprawdę się opłaci w przypadku projektów internetowych i mobilnych? Co z małymi i …
Na przykład, SysInternals narzędzie „FileMon” z przeszłości ma sterownik trybu jądra, którego kod źródłowy jest w całości w jednym pliku 4000 linii. To samo dotyczy pierwszego w historii napisanego programu ping (~ 2000 LOC).
W tym artykule Alexa Papadimoulisa możesz zobaczyć ten fragment: private void attachSupplementalDocuments() { if (stateCode == "AZ" || stateCode == "TX") { //SR008-04X/I are always required in these states attachDocument("SR008-04X"); attachDocument("SR008-04XI"); } if (ledgerAmnt >= 500000) { //Ledger of 500K or more requires AUTHLDG-1A attachDocument("AUTHLDG-1A"); } if (coInsuredCount >= 5 …
Programuję od ponad 9 lat i zgodnie z radą mojego pierwszego nauczyciela programowania zawsze utrzymuję main()bardzo krótką funkcję. Na początku nie miałem pojęcia, dlaczego. Po prostu posłuchałem bez zrozumienia, ku zadowoleniu moich profesorów. Po zdobyciu doświadczenia zdałem sobie sprawę, że jeśli poprawnie zaprojektowałem swój kod, posiadanie krótkiej main()funkcji po prostu …
Często można usłyszeć, że OOP naturalnie odpowiada temu, jak ludzie myślą o świecie. Ale zdecydowanie nie zgodziłbym się z tym stwierdzeniem: my (lub przynajmniej ja) konceptualizujemy świat w kategoriach relacji między rzeczami, które napotykamy, ale OOP koncentruje się na projektowaniu poszczególnych klas i ich hierarchii. Zauważ, że w życiu codziennym …
Czy zawsze miałeś zasadniczo rację w projektach oprogramowania, które proponowałeś? Kiedy rozdajesz projekt, który był zasadniczo zły, tracisz szacunek innych członków zespołu. Bez względu na to, co zrobisz później, zostaniesz sprawdzony pod kątem wszystkiego, co zaproponujesz po tym incydencie. Jest to szczególnie gorsze, gdy jesteś nowym członkiem zespołu, który nie …
Jedną z najbardziej podstawowych i powszechnie akceptowanych zasad tworzenia oprogramowania jest OSUSZANIE (nie powtarzaj się). Oczywiste jest również, że większość projektów oprogramowania wymaga pewnego rodzaju zarządzania. Jakie są teraz łatwe do zarządzania zadania (ocena, harmonogram, kontrola)? Właściwe, powtarzalne zadania, dokładnie takie, których należy unikać zgodnie z DRY. Z punktu widzenia …
Czuję, że jestem dobry w pisaniu kodu fragmentami, ale moje projekty są naprawdę do kitu. Pytanie brzmi: jak mogę ulepszyć swoje projekty - a co za tym idzie zostać lepszym projektantem? Myślę, że szkoły i uczelnie wykonują dobrą robotę, ucząc ludzi, jak stać się dobrym w rozwiązywaniu problemów matematycznych, ale …
Projektując system, często napotykam problem polegający na tym, że wiele modułów (logowanie, dostęp do bazy danych itp.) Jest używanych przez inne moduły. Pytanie brzmi: jak przejść do dostarczania tych komponentów innym komponentom. Dwie odpowiedzi wydają się możliwe wstrzyknięcie zależności lub użycie wzorca fabrycznego. Jednak oba wydają się błędne: Fabryki sprawiają, …
Kiedy zacząłem uczyć się PHP (około 5 lub 6 lat temu), dowiedziałem się o Ajaxie i przeszedłem „fazy”: Serwer zwraca dane w formacie HTML i umieścić go wewnątrz Doma innerHTML Dowiesz się o formatach przesyłania danych, takich jak XML (i powiesz „oooh, więc to jest to, do czego służy), a …
W skrócie, czy powinniśmy projektować śmierć w naszych programach, procesach i wątkach na niskim poziomie, dla dobra całego systemu? Awarie się zdarzają. Procesy giną. Planujemy katastrofę i od czasu do czasu się z niej odzyskujemy. Ale rzadko projektujemy i wdrażamy nieprzewidywalną śmierć programu. Mamy nadzieję, że przestoje naszych usług będą …
Dlaczego wielu programistów narusza zasadę otwartego / zamkniętego , modyfikując wiele rzeczy, takich jak zmiana nazw funkcji, które spowodują uszkodzenie aplikacji po aktualizacji? To pytanie przeskakuje mi do głowy po szybkich i ciągłych wersjach biblioteki React . Co krótki okres zauważam wiele zmian w składni, nazwach komponentów, itp Przykład w …
Kiedy zapytano Murraya Gell-Manna, jak Richard Feynman rozwiązał tak wiele trudnych problemów, Gell-Mann odpowiedział, że Feynman ma algorytm: Zapisz problem. Myśl naprawdę ciężko. Zapisz rozwiązanie. Gell-Mann próbował wyjaśnić, że Feynman był innym rodzajem rozwiązywania problemów i nie można było uzyskać wglądu w studiowanie jego metod. Podobnie myślę o zarządzaniu złożonością …
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.