Zacząłem używać zasady projektowania i korzystania z interfejsów, która mówi w zasadzie: „proś tylko o to, czego potrzebujesz”. Na przykład, jeśli mam kilka typów, które można usunąć, utworzę Deletableinterfejs: interface Deletable { void delete(); } Następnie mogę napisać ogólną klasę: class Deleter<T extends Deletable> { void delete(T t) { t.delete(); …
Czytam The Art of Unit Testing autorstwa Roy Osherove. Jestem w sekcji 7.2. Pisanie możliwych do utrzymania testów, w których autor ma notatkę o zapachu kodu: UWAGA: Czy po przefakturowaniu stanu wewnętrznego, aby był widoczny dla testu zewnętrznego, można uznać go za zapach kodu (znak, że coś może być nie …
Pracowałem nad aplikacją internetową do zarządzania kolekcjami muzealnymi typu open source, która ma być używana do śledzenia artefaktów, które muzeum przystąpiło, podarowało, pożyczyło lub w inny sposób nabyło. Obejmowało to zaprojektowanie i utworzenie dość dużej bazy danych (w odniesieniu do moich wcześniejszych doświadczeń), która przechowuje wszelkiego rodzaju różnorodne informacje (informacje …
Piszę aplikację, która będzie miała Imageencję, i już mam problemy z ustaleniem, za kogo powinno być każde zadanie. Najpierw mam Imageklasę. Ma ścieżkę, szerokość i inne atrybuty. Następnie stworzyłem ImageRepositoryklasę do wyszukiwania obrazów za pomocą jednej i przetestowanej metody, np findAllImagesWithoutThumbnail(). : Ale teraz muszę też móc createThumbnail(). Kto powinien …
W przypadku niektórych najpopularniejszych języków (Java, C #, Java itp.) Czasami wydaje się, że pracujesz w sprzeczności z językiem, gdy chcesz w pełni TDD kodu. Na przykład w Javie i języku C # będziesz chciał wyśmiewać wszelkie zależności swoich klas, a większość frameworkowców zaleci, byś wyśmiewał interfejsy, a nie klasy. …
Patrząc na przykłady definicji wykonanych w różnych źródłach, zwykle zawierają one punkty podobne kod ukończony uruchamiane testy jednostkowe kod sprawdzony lub sparowany kod zalogowany zaktualizowana dokumentacja … W naszym zespole mamy podobną listę, ale nikt nigdy na nią nie patrzy, ponieważ te punkty wydają się tak rażąco oczywiste, że nikt …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
Microsoft wydał dziś ostateczne wersje Visual Studio 2012 na MSDN. Staram się na tej stronie porównania wersji zdecydować, którą edycję zainstalować (mogę zainstalować dowolną edycję, którą chcę za darmo). Jestem deweloperem solo, który tworzy głównie aplikacje internetowe i konsolowe w języku C # i Python. Niektóre funkcje Ultimate / Premium …
W jaki sposób wykorzystanie pamięci przez obiekt całkowity napisany w Javie porównuje \ wykorzystanie pamięci przez obiekt całkowity napisany w C ++? Czy różnica jest znikoma? Bez różnicy? Duża różnica? Zgaduję, że jest tak samo, ponieważ int jest int niezależnie od języka (?) Powodem, dla którego o to zapytałem, jest …
Załóżmy, że mam metodę public List<User> GetBatchOfUsers(IEnumerable<int> userIDs) { List<User> users = new List<User>(); // some database stuff return users; } Przeczytałem, że lepiej byłoby zwrócić interfejs (albo IListalbo IEnumerable), niż zwrócić a List. Niektóre argumenty, które słyszałem, to to, że ukrywa dane i daje programistom API elastyczność zmiany wewnętrznej …
Mamy projekt, w którym ten sam zespół opracuje kod interfejsu użytkownika, ale w innym języku (Python / Django) niż warstwa usług (REST / Java). Kod dla każdej warstwy jest zamykany w różnych repozytoriach kodów i które mogą podlegać różnym cyklom wydania. Próbuję wymyślić proces, który zapobiegnie / ograniczy przełamywanie zmian …
Pracuję nad projektem, który wykorzystuje GIT jako główny system kontroli wersji dla pnia, oficjalnych oddziałów i większości podprojektów / nieoficjalnych gałęzi. Jako taki, chcę, aby mój własny oddział używał GIT, aby umożliwić pozostałej społeczności dostęp do mojego oddziału przy użyciu systemu, który znają. Pracuję jednak nad częścią projektu, która nakłada …
Napisałem klasę C #, która służy do uruchamiania listy plików EXE (nie jednego z plików EXE innych firm, które muszę uruchomić) i utrzymywania ich w działaniu (od czasu do czasu sprawdzę, czy nadal działa, i uruchomię je, jeśli nie) . Jestem w stanie przetestować podstawową logikę dodawania, usuwania itp. Jak …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
W przypadku obszaru aplikacji, który został opracowany, pojawiło się żądanie usunięcia elementu z menu. Wiem, że to drobiazg, ale jak traktujesz to w Scrumie? Jestem przyzwyczajony do używania historii użytkowników do dodawania funkcjonalności, a nie usuwania. Więc moje pytanie brzmi: czy powinienem stworzyć w tym celu historię użytkownika, w jakiś …
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.