Jestem pewien, że nie jest to rzadki motyw. Mamy dwa zespoły scrumowe, które dobrze oceniają historie użytkowników przy użyciu punktów fabularnych (obecne konstelacje zespołu mają zaledwie około 8 miesięcy, chociaż członkowie zespołu mają kilkuletnie doświadczenie w scrumie). Ale część biznesowa firmy ma trudności z odniesieniem do historii użytkowników; chcą rzeczywistych …
Buduję sporo projektów z moim przyjacielem, ale zawsze dochodzimy do tego samego pułapki. Wiem, jak pisać PHP, JavaScript i inne rzeczy (znam również CSS i HTML), więc mogę wykonać większość pracy, jeśli chodzi o budowanie faktycznej funkcjonalności. Jednak nie może, ale może zrobić coś, czego ledwo potrafię: zaprojektować strony. Ale …
Programiści tworzą skrypty, które pomagają w ich pracy. Na przykład, aby uruchomić Maven z określonymi parametrami, zabić niepotrzebne zadania w tle, które pojawiają się w fazie rozwoju lub połączyć się z określonym serwerem. Skrypty nie są skryptami kompilacji rdzenia ani nie są używane na naszym serwerze Continuous Integration. Jaki jest …
Jeśli masz wyliczenie tylko z wartościami (nie ma metod, które można wykonać w Javie), a wyliczenie to jest częścią biznesowej definicji systemu, czy należy napisać dla niego testy jednostkowe? Myślałem, że powinny być napisane, nawet jeśli mogłyby wydawać się proste i zbędne. Uważam, że to, co dotyczy specyfikacji biznesowej, powinno …
Bardzo często określa się wersje interfejsów API REST w adresie URL, szczególnie na początku ścieżki, tj. Coś w stylu: POST /api/v1/accounts GET /api/v1/accounts/details Jednak nie widziałem żadnego projektu, w którym wersja jest powiązana z każdym interfejsem API. Innymi słowy, utrzymujemy wersję każdego interfejsu API osobno. to znaczy: POST /api/accounts/v2 GET …
Obecnie używam loggera w moim projekcie w następujący sposób: private static final Logger LOGGER; static{ LOGGER = logger.getLogger(); } Otrzymałem recenzję kodu za użycie bloku statycznego do zainicjowania zmiennej rejestratora. Powiedziano mi, aby zainicjalizować zmienną rejestrującą w samej instrukcji deklaracji. private static final Logger LOGGER = Logger.getLogger(); Próbuję dowiedzieć się, …
Składnia 3 protokołu protobuf spowodowała, że wszystkie pola stały się opcjonalne, odrzucając słowa kluczowe requiredi optionalpoprzednią składnię proto2. Czytając niektóre komentarze od programistów , wydaje się, że zrobiono to w celu zwiększenia kompatybilności binarnej do przodu / do tyłu. Ale dla mnie może to być wymuszone przez wersjonowanie nazw pakietów, …
Chcę wprowadzić pewne ulepszenia w wciąż funkcjonującym kodzie, który został napisany dawno temu, zanim język programowania, w którym jest napisany, zaczął się rozwijać. Teoretycznie w całym projekcie wykorzystywana jest aktualna wersja języka; jednak ten konkretny moduł (i tak naprawdę wiele innych modułów) jest nadal zapisany w starszym dialekcie. Czy powinienem: …
Wyobraź sobie system, który ma dużą liczbę serwerów. Każde z nich ma wiele ustawień: Niektóre specyficzne dla serwera Niektóre specyficzne dla regionu Niektóre wspólne dla wszystkich Być może możesz mieć niestandardowe grupy, na przykład ta grupa serwerów służy tylko do odczytu itp. Obecna praktyka, o której myślę, to prosta struktura …
Operator add klasy set zwraca wartość logiczną, która jest prawdą, jeśli element (który ma zostać dodany) jeszcze nie istniał, a fałsz w przeciwnym razie. Pisze if (set.add(entry)) { //do some more stuff } uważany za dobry styl pod względem pisania czystego kodu? Zastanawiam się, skoro robicie dwie rzeczy naraz. 1) …
Nasza firma kupi duży i bardzo złożony fragment kodu źródłowego do komunikacji satelitarnej. Jest on kodowany w C ++, a my dodamy do niego dodatki, również w C ++, łącząc nasz kod z zakupionym kodem w jedną jednostkę wykonywalną. Czy konieczne jest, abyśmy korzystali z tego samego kompilatora i tej …
Projektujemy interfejs API RESTful przeznaczony głównie do zaspokojenia potrzeb jednego klienta. Ze względu na bardzo szczególne okoliczności ten klient musi składać jak najmniej zapytań. Interfejs API obsługuje i18n za pomocą nagłówka Accept-Language w żądaniach. Działa to dla wszystkich rzeczy, które klient musi zrobić, z wyjątkiem jednej funkcji, w której klient …
Zakładając interfejs IReader, implementację interfejsu IReader ReaderImplementation oraz klasę ReaderConsumer, która zużywa i przetwarza dane z czytnika. public interface IReader { object Read() } Realizacja public class ReaderImplementation { ... public object Read() { ... } } Konsument: public class ReaderConsumer() { public string location // constructor public ReaderConsumer() { …
Wiele razy sprawdzam, czy sprawdzam wartość zerową podczas pobierania wartości z jakiejś hierarchii danych, aby uniknąć wyjątków NullPointerExcept, które uważam za podatne na błędy i wymagają dużo dodatkowej analizy. Napisałem bardzo prostą procedurę, która pozwala mi pominąć sprawdzanie wartości zerowej podczas pobierania obiektu ... public final class NoNPE { public …
Mam klasę, która ustawia tablicę węzłów i łączy je ze sobą w strukturze graficznej. Czy najlepiej: Zachowaj funkcjonalność, aby zainicjować i połączyć węzły w jednej funkcji Mają funkcje inicjalizacji i połączenia w dwóch różnych funkcjach (i mają zależną kolejność, w której funkcje muszą być wywoływane - należy jednak pamiętać, ż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.