Chciałbym wiedzieć, co odróżnia klasę usług od klasy użyteczności lub klasy pomocnika? Klasa tylko z podstawowymi metodami wywołuje dao's jest usługą? Czy użycie klas Pomocników nie narusza SRP?
Bardzo często utknąłem przy wyborze najlepszej decyzji projektowej. Nawet w przypadku drobnych szczegółów, takich jak definicje funkcji, przepływ sterowania i nazwy zmiennych, spędzam niezwykle długie okresy, analizując korzyści i kompromisy z moich wyborów. Czuję, że tracę dużo wydajności, spędzając godziny na takich nieistotnych szczegółach. Mimo że w głębi duszy wiem, …
Współpracuję z małym zespołem, który tworzy zastrzeżoną aplikację internetową, a UX nie ma większego znaczenia, ponieważ nasi ludzie będą nią zarządzać, ale staramy się ułatwiać im pracę. Czy jako programista powinienem utworzyć makietę interfejsu użytkownika, zanim zacznę tworzyć nowy ekran? Nic nadzwyczajnego, głównie ogólny układ, aby omówić go z kolegami …
Zwykle zgadzam się z większością ostrzeżeń dotyczących analizy kodu i staram się ich przestrzegać. Mam jednak trudniejszy czas z tym: CA1031: Nie przechwytuj ogólnych typów wyjątków Rozumiem uzasadnienie tej reguły. Ale w praktyce, jeśli chcę podjąć to samo działanie niezależnie od zgłoszonego wyjątku, dlaczego miałbym obsługiwać każde z nich konkretnie? …
Ostatnio zmieniłem kod w pracy i pomyślałem, że wykonałem dobrą robotę. Zrzuciłem 980 linii kodu do 450 i zmniejszyłem o połowę liczbę klas. Pokazując to moim kolegom, niektórzy nie zgodzili się, że to poprawa. Powiedzieli - „mniej linii kodu niekoniecznie jest lepsze” Widzę, że mogą wystąpić ekstremalne przypadki, w których …
Próbuję zrozumieć, czym jest pętla zdarzeń. Często wyjaśnia się, że w pętli zdarzeń robisz coś, dopóki nie zostaniesz powiadomiony o wystąpieniu zdarzenia. Następnie zajmujesz się zdarzeniem i kontynuujesz robienie tego, co robiłeś wcześniej. Aby zmapować powyższą definicję na przykładzie. Mam serwer, który „nasłuchuje” w pętli zdarzeń, a gdy zostanie wykryte …
Przykład użyty w pytaniu przekazuje absolutną minimalną ilość danych do funkcji, która dotyczy najlepszego sposobu ustalenia, czy użytkownik jest administratorem, czy nie. Jedną z powszechnych odpowiedzi było: user.isAdmin() To skłoniło do komentarza, który został kilkakrotnie powtórzony i wielokrotnie głosowany: Użytkownik nie powinien decydować, czy jest administratorem, czy nie. System uprawnień …
Niedawno ukończyłem uniwersytet i rozpocząłem pracę jako programista. Trudno mi rozwiązać problemy „techniczne” lub debugować za pomocą rzeczy, które, jak powiedziałbym, mają jedno rozwiązanie. Ale wydaje się, że istnieje klasa problemów, które nie mają jednego oczywistego rozwiązania - takich jak architektura oprogramowania. Te rzeczy wprawiają mnie w osłupienie i przysparzają …
W mojej edukacji powiedziano mi, że wadliwym pomysłem jest udostępnianie użytkownikowi rzeczywistych kluczy podstawowych (nie tylko kluczy DB, ale wszystkich głównych akcesorów). Zawsze myślałem, że to problem z bezpieczeństwem (ponieważ osoba atakująca może próbować czytać rzeczy, które nie są ich własnością). Teraz muszę sprawdzić, czy użytkownik może mimo to uzyskać …
Jaka jest różnica między budowaniem aplikacji Outside In a budowaniem aplikacji Inside Out za pomocą TDD? Oto książki, które czytałem o TDD i testowaniu jednostkowym: Rozwój oparty na testach: Przez przykład Rozwój oparty na testach: Praktyczny przewodnik: Praktyczny przewodnik Realne rozwiązania dla rozwoju wysokiej jakości ram i aplikacji PHP Rozwój …
Spędziłem ostatni rok jako jednoosobowy zespół, opracowując aplikację dla bogatych klientów (ponad 35 000 LoC, za co jest warta). Obecnie jest stabilny i produkowany. Wiem jednak, że moje umiejętności były zardzewiałe na początku projektu, więc bez wątpienia w kodzie występują poważne problemy. W tym momencie większość problemów dotyczy architektury, struktury …
Mam projekt. W tym projekcie chciałem przefaktoryzować go, aby dodać funkcję, i przebudowałem projekt, aby dodać funkcję. Problem polega na tym, że kiedy skończyłem, okazało się, że muszę wprowadzić niewielką zmianę interfejsu, aby to uwzględnić. Więc dokonałem zmiany. I wtedy klasa konsumująca nie może zostać zaimplementowana z obecnym interfejsem pod …
Czasami patrzę tępo w przestrzeń lub szkicuję pomysły i piszę pseudo-kody na papierze. Następnie wykreślam go i zaczynam od nowa, a kiedy myślę, że mam właściwe rozwiązanie problemu, zaczynam pisać kod. Czy myślenie przez wiele dni bez pisania kodu jest normalne? Czy to znak, że podchodzę do problemu zupełnie źle? …
Mam pewne doświadczenie w obiektowych językach programowania, takich jak c # lub ruby. Wiem, jak zaprojektować program w stylu obiektowym, jak tworzyć klasy i obiekty oraz jak definiować relacje między nimi. Znam też pewne wzorce projektowe. Jak ludzie piszą programy funkcjonalne? Jak oni zaczynają? Czy istnieją wzorce projektowe dla języków …
Powiedzmy, że kodujesz funkcję, która pobiera dane wejściowe z zewnętrznego interfejsu API MyAPI. Ten zewnętrzny interfejs API MyAPIma umowę, która stwierdza, że zwróci a stringlub a number. Zaleca się, aby ustrzec się przed rzeczy takie jak null, undefined, boolean, itd., Mimo że nie jest częścią API MyAPI? W szczególności, ponieważ …
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.