Często, szczególnie w bibliotekach, pakiety zawierają klasy zorganizowane wokół jednej koncepcji. Przykłady: xml, sql, user, config, db . Myślę, że wszyscy czujemy się całkiem naturalnie, że te pakiety są poprawne w liczbie pojedynczej . com.myproject. xml .Element com.myproject. sql .Connection com.myproject. user .User com.myproject. użytkownik .UserFactory Jeśli jednak mam pakiet, …
Mój nauczyciel t-sql powiedział nam, że nazywanie naszej kolumny PK „Id” jest uważane za złą praktykę bez dalszych wyjaśnień. Dlaczego nazywanie tabeli PK kolumny „Id” jest uważane za złą praktykę?
Stało się to wielką frustracją z bazą kodu, nad którą obecnie pracuję; wiele z naszych zmiennych jest krótkich i nieopisowych. Jestem jedynym programistą, który pozostał w projekcie i nie ma dokumentacji dotyczącej tego, co większość z nich robi, więc muszę poświęcić dodatkowy czas na śledzenie tego, co reprezentują. Na przykład …
To trochę pedantyczne, ale widziałem, jak niektórzy ludzie używają Id: private int userId; public int getUserId(); i inni używają: private int userID; public int getUserID(); Czy jedno z nich jest lepsze niż drugie? Dlaczego? Widziałem to bardzo niekonsekwentnie w dużych projektach. Gdybym ustalił standard, który zna większość ludzi? Który jest …
Czy różne konwencje nazewnictwa wersji są odpowiednie dla różnych projektów? Czego używasz i dlaczego? Osobiście wolę numer kompilacji w systemie szesnastkowym (np. 11BCF), należy go bardzo regularnie zwiększać. A następnie dla klientów prosty 3-cyfrowy numer wersji, tj. 1.1.3. 1.2.3 (11BCF) <- Build number, should correspond with a revision in source …
Antypattern „ Reinvent the wheel ” jest dość powszechny - zamiast używać gotowego rozwiązania, napisz własne od zera. Baza kodu rośnie niepotrzebnie, nieco inne interfejsy, które robią to samo, ale nieco inaczej obfitują, marnuje się czas na pisanie (i debugowanie!) Funkcji, które są łatwo dostępne. Wszyscy to wiemy. Ale jest …
Jedną z rzeczy, z którymi się zmagam, jest niestosowanie węgierskiej notacji. Ja nie chcę iść do definicji zmiennej po prostu zobaczyć, jakiego rodzaju jest. Kiedy projekt się rozrasta, miło jest móc patrzeć na zmienną poprzedzoną przez „bool” i wiedzieć, że szuka wartości prawda / fałsz zamiast wartości 0/1 . Wykonuję …
Słowa invertlub controlwcale nie są używane do zdefiniowania Odwrócenia kontroli w definicjach, które widziałem. Definicje Wikipedia Inwersja sterowania (IoC) jest techniką programowania, wyrażoną tutaj w kategoriach programowania obiektowego, w której sprzężenie obiektów jest powiązane w czasie wykonywania przez obiekt asemblera i zwykle nie jest znane w czasie kompilacji za pomocą …
(Zakładając, że środowisko jednowątkowe) Funkcja spełniająca to kryterium to: bool MyClass::is_initialized = false; void MyClass::lazy_initialize() { if (!is_initialized) { initialize(); //Should not be called multiple times is_initialized = true; } } Zasadniczo mogę wywoływać tę funkcję wiele razy i nie martw się, że zainicjuje się MyClasswiele razy Funkcją niespełniającą tego …
Niedawno próbowałem zaimplementować algorytm rankingu, AllegSkill, w Pythonie 3. Oto jak wygląda matematyka: Nie naprawdę. Oto co napisałem: t = (µw-µl)/c # those are used in e = ε/c # multiple places. σw_new = (σw**2 * (1 - (σw**2)/(c**2)*Wwin(t, e)) + γ**2)**.5 Właściwie uważałem, że niefortunne jest dla Pythona 3 …
Czytam „ Czysty kod ” Roberta Martina, aby, mam nadzieję, zostać lepszym programistą. Chociaż jak dotąd żaden z nich nie był przełomowy, zmusił mnie do odmiennego myślenia o sposobie projektowania aplikacji i pisania kodu. Jest jedna część książki, z którą nie tylko się nie zgadzam, ale nie ma dla mnie …
Używam underscore_case od około 2 lat, a ostatnio przeszedłem na camelCase z powodu nowej pracy (używam późniejszej od około 2 miesięcy i nadal uważam, że underscore_case lepiej nadaje się do dużych projektów, w których bierze udział wielu programistów, głównie dlatego, że kod jest łatwiejszy do odczytania). Teraz wszyscy w pracy …
Rozdział wuja Boba na temat nazw w Czystym Kodzie zaleca unikanie kodowania nazw, głównie w odniesieniu do notacji węgierskiej. On także wyraźnie wymienia usunięcie Iprefiksu z interfejsów, ale nie pokazują przykłady. Załóżmy, że: Wykorzystanie interfejsu służy głównie do testowania poprzez wstrzykiwanie zależności W wielu przypadkach prowadzi to do posiadania jednego …
Czasami najbardziej logiczną nazwą czegoś (np. Zmiennej) jest zastrzeżone słowo kluczowe w wybranym języku lub środowisku. Kiedy nie ma równie odpowiedniego synonimu, jak się go nazywa? Wyobrażam sobie, że istnieją heurystyki najlepszych praktyk dla tego problemu. Mogą być one dostarczone przez twórców lub zarządców języków programowania i środowisk. Na przykład, …
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.