Ostatnio TDD stosowałem metodę fabryczną. Metoda polegała na utworzeniu zwykłego obiektu lub obiektu owiniętego dekoratorem. Udekorowany obiekt może być jednego z kilku typów rozszerzających StrategyClass. W moim teście chciałem sprawdzić, czy klasa zwracanego obiektu jest zgodna z oczekiwaniami. To proste, gdy powróci zwykły obiekt, ale co zrobić, gdy jest zawinięty …
Otrzymałem dzisiaj recenzję kodu od starszego programisty z pytaniem: „A propos, jaki jest twój sprzeciw wobec wywoływania funkcji za pomocą instrukcji switch?” Czytałem już w wielu miejscach o tym, jak pompowanie argumentu za pomocą przełączania do metod wywoływania jest złym OOP, nie jest tak rozszerzalne itp. Jednak tak naprawdę nie …
Dobra, poradzę sobie z tym: jestem lepszym programistą niż w bazach danych i zastanawiam się, gdzie myśli się o „najlepszych praktykach” na temat wykonywania „prostych” obliczeń w zapytaniu SQL vs. kod, taki jak ten przykład MySQL (nie napisałem go, muszę go tylko zachować!) - Zwraca nazwę użytkownika, a użytkownicy starzeją …
Mam dość dużą prywatną bazę kodów, która ewoluowała od około dziesięciu lat. Nie używam phpDocumentor, ale odkąd używanie sekcji docblock stało się całkiem standardem w projektach open source, zaadaptowałem pisanie docblocków dla wszystkich metod publicznych w moim repozytorium. Większość bloków zawiera tylko krótki opis i wskazówki dotyczące wszystkich parametrów i …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . W moim zespole ściśle współpracujemy z kilkoma architektami oprogramowania. Zatwierdzają wszystkie decyzje projektowe …
Uczę się DDD i myślę o rzucaniu wyjątków w określonych sytuacjach. Rozumiem, że obiekt nie może wejść w zły stan, więc tutaj wyjątki są w porządku, ale w wielu przykładach wyjątki są zgłaszane na przykład, jeśli próbujemy dodać nowego użytkownika z istniejącą pocztą e-mail w bazie danych. public function doIt(UserData …
Załóżmy, że istnieje Pageklasa, która reprezentuje zestaw instrukcji dla mechanizmu renderującego strony. Załóżmy, że istnieje Rendererklasa, która wie, jak renderować stronę na ekranie. Istnieje możliwość strukturyzacji kodu na dwa różne sposoby: /* * 1) Page Uses Renderer internally, * or receives it explicitly */ $page->renderMe(); $page->renderMe($renderer); /* * 2) Page …
Tworzę grę 2D na stronę internetową, na której wszechświat może stać się bardzo duży (w zasadzie nieskończenie duży). Początkowo wszechświat składa się z 6 gwiazd, które są w równej odległości od początku (0, 0). Moim zadaniem jest generowanie większej liczby gwiazd, które będą miały „ścieżki” (krawędzie), które się ze sobą …
Staram się przestrzegać zasady DRY w moim programowaniu tak mocno, jak potrafię. Ostatnio uczyłem się wzorców projektowych w OOP i skończyło się na tym, że powtarzałem sobie całkiem sporo. Utworzyłem wzorzec repozytorium wraz ze wzorami Factory i Gateway, aby obsłużyć moją trwałość. Korzystam z bazy danych w mojej aplikacji, ale …
Tworzę stronę blogową do nauki z zapleczem PHP / MySQl. Wszystkie dane wejściowe użytkownika są obsługiwane za pomocą formularzy wysyłanych w żądaniach POST. Czy użycie JSON w jakiś sposób sprawi, że będzie czystsze, łatwiejsze w utrzymaniu lub dodaniu funkcji? A może po prostu dodaję format wymiany bez powodu? Zasadniczo, jaka …
Lokalizuję moją aplikację php. Mam dylemat wyboru najlepszej metody osiągnięcia tego samego. Metoda 1: Obecnie przechowuję słowa do zlokalizowania w tablicy w pliku php <?php $values = array ( 'welcome' => 'bienvenida' ); ?> Korzystam z funkcji, aby wyodrębnić i zwrócić każde słowo zgodnie z wymaganiami Metoda 2: Czy powinienem …
Czytam Obiekty PHP, Wzorce i Praktykę . Autor próbuje modelować lekcję na uczelni. Celem jest przedstawienie rodzaju lekcji (wykładu lub seminarium) oraz opłat za lekcję w zależności od tego, czy jest to lekcja godzinowa, czy stała. Tak więc wynik powinien być Lesson charge 20. Charge type: hourly rate. Lesson type: …
Jestem na etapie przedpremierowym projektu PHP typu open source, który, mam nadzieję, zostanie wykorzystany przez innych programistów we własnych projektach. Projekt obecnie nie obsługuje przestrzeni nazw i staram się ocenić, czy powinien używać przestrzeni nazw lub konwencji nazewnictwa PEAR z Dir_Subdir_Class, która wydaje się mieć wszystkie te same zalety techniczne …
Zastanawiałem się, jaki jest powód paginacji? Czy jest używany, ponieważ zmniejsza obciążenie serwerów, ponieważ technicznie ograniczamy liczbę wierszy zwracanych na stronę? Chciałem zrobić coś bez podziału na strony, ale biorąc pod uwagę, że jestem nowy (jestem amatorem), zacząłem się zastanawiać, czy technicznie jest OK.
Jakie strategie można zastosować do automatyzacji tworzenia przypadków testowych? Na jakie aspekty należy zwrócić uwagę w każdej klasie, aby móc wygenerować przynajmniej porządny szkielet przypadku testowego? Zdaję sobie sprawę, że kompleksowe automatyczne rozwiązanie nie jest praktyczne, ale chciałbym przyspieszyć tworzenie testu przynajmniej przez utworzenie szkieletu. Nie szukam przykładów kodu, może …
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.