Pytania otagowane jako design

Pytania dotyczące rozwiązywania problemów i planowania rozwiązania poprzez projektowanie oprogramowania.

2
Jak wdrożyłbyś wyszukiwarkę Google? [Zamknięte]
Załóżmy, że zapytano Cię w wywiadzie „Jak wdrożyłbyś wyszukiwarkę Google?” Jak odpowiedziałbyś na takie pytanie? Mogą istnieć zasoby, które wyjaśniają, w jaki sposób niektóre elementy w Google są implementowane (BigTable, MapReduce, PageRank, ...), ale to nie pasuje do wywiadu. Jakiej ogólnej architektury byś użył i jak wyjaśniłbyś to w 15-30 …

10
W jaki sposób testy jednostkowe ułatwiają projektowanie?
Nasz kolega promuje pisanie testów jednostkowych jako faktycznie pomagających nam udoskonalić nasz projekt i refaktoryzować rzeczy, ale nie rozumiem, jak to zrobić. Jeśli ładuję plik CSV i analizuję go, w jaki sposób test jednostkowy (sprawdzanie poprawności wartości w polach) pomoże mi zweryfikować mój projekt? Wspomniał o sprzężeniu i modułowości itp., …

7
Odwoływanie się do wartości bazy danych w logice biznesowej
Wydaje mi się, że to kolejne pytanie o kodowanie na stałe i najlepsze praktyki. Powiedzmy, że mam listę wartości, powiedzmy owoców, przechowywanych w bazie danych (musi znajdować się w bazie danych, ponieważ tabela jest używana do innych celów, takich jak raporty SSRS), z identyfikatorem: 1 Apple 2 Banana 3 Grapes …
43 design 

7
Kiedy NIE należy stosować zasady odwrócenia zależności?
Obecnie próbuję znaleźć SOLID. Zatem zasada inwersji zależności oznacza, że ​​dowolne dwie klasy powinny komunikować się za pośrednictwem interfejsów, a nie bezpośrednio. Przykład: Jeśli class Ama metodę, która oczekuje wskaźnika do obiektu typu class B, wówczas metoda ta powinna faktycznie oczekiwać obiektu typu abstract base class of B. Pomaga to …

7
SOLIDNE zasady a YAGNI
Kiedy zasady SOLID stają się YAGNI? Jako programiści dokonujemy kompromisów przez cały czas, między złożonością, łatwością utrzymania, czasem budowy i tak dalej. Między innymi dwie najmądrzejsze wytyczne dotyczące dokonywania wyborów to moim zdaniem zasady SOLID i YAGNI. Jeśli nie potrzebujesz tego; nie buduj go i utrzymuj w czystości. Teraz, na …

6
Jaka jest rola wiodącego programisty w zwinnym zespole?
W nieagresywnym zespole programistycznym główny programista ogólnie : Ustawia standard (kodowanie i inne) Zespół bada nowe technologie Ustawia kierunek techniczny dla zespołu Ma ostatnie słowo w sprawach Projektuje architekturę systemu Jednak zwinny zespół działa inaczej: Zwinny zespół będzie polegał na nowatorskim designie, a nie z góry Zwinny zespół projektuje razem, …

7
Jak przestać projektować i zacząć projektować ten projekt zgodnie z sugestią mojego kierownika? [Zamknięte]
Jestem młodszym programistą (ok. 3 lata) i przy mojej pracy opracowujemy nowy system. Mój główny programista będzie głównym architektem, jednak rzucił mi wyzwanie, abym sam spróbował zaprojektować system (równolegle). W trakcie kilku iteracji pomysłów na burzę mózgów i proponowania tego, co widziałem jako sugestie dotyczące architektury, mój trop dał mi …

6
Jaki jest właściwy sposób pracy z grafikiem? [Zamknięte]
Ostatnio współpracowaliśmy z grafikiem (zaaranżowanym przez klienta), aby zapewnić skórkę dla aplikacji Django + Bootstrap, którą zbudowaliśmy. Projektant dostarczył serię statycznych obrazów nowego układu wraz z dokumentem opisującym niektóre atrybuty techniczne (rozmiary czcionek, kolory, kilka wymiarów itp.). Wdrożenie tego okazało się niezwykle czasochłonne. Chociaż cała witryna była w zasadzie stroną …

3
Czy powinienem używać pliku konfiguracji lub bazy danych do przechowywania reguł biznesowych?
Niedawno czytam The Pragmatic Programmer, który stwierdza, że: Szczegóły psują nasz nieskazitelny kod - zwłaszcza jeśli często się zmieniają. Za każdym razem, gdy musimy wejść i zmienić kod, aby uwzględnić zmiany logiki biznesowej, prawa lub osobistych upodobań kierownictwa, ryzykujemy złamaniem systemu - wprowadzeniem nowego błędu. Hunt, Andrew; Thomas, David (1999-10-20). …


9
Czy potrzebujemy logowania podczas wykonywania TDD?
Wykonując cykl Czerwony, Zielony i Refaktor, zawsze powinniśmy napisać minimalny kod, aby przejść test. W ten sposób nauczono mnie TDD i sposób, w jaki prawie wszystkie książki opisują ten proces. Ale co z rejestrowaniem? Szczerze mówiąc rzadko używałem logowania do aplikacji, chyba że działo się coś naprawdę skomplikowanego, jednak widziałem …

6
Dlaczego warto unikać dziedziczenia Java „Rozszerza”
Powiedział Jame Gosling „W miarę możliwości należy unikać dziedziczenia implementacji.” i zamiast tego użyj dziedziczenia interfejsu. Ale dlaczego? Jak możemy uniknąć dziedziczenia struktury obiektu za pomocą słowa kluczowego „extends”, a jednocześnie uczynić nasz kod obiektowym zorientowanym? Czy ktoś mógłby podać obiektowy przykład ilustrujący tę koncepcję w scenariuszu „zamawianie książki w …

7
Czy złą praktyką jest interfejs do definiowania stałych?
Piszę zestaw klas testowych junit w Javie. Istnieje kilka stałych, na przykład ciągi, których będę potrzebować w różnych klasach testowych. Myślę o interfejsie, który je definiuje i każda klasa testowa go zaimplementuje. Korzyści, które tam widzę to: łatwy dostęp do stałych: MY_CONSTANTzamiastThatClass.MY_CONSTANT każda stała zdefiniowana tylko raz Czy to podejście …

3
AngularJS: tworzenie aplikacji internetowej z wieloma aplikacjami ng
Blogosfera zawiera wiele artykułów na temat wytycznych dotyczących struktury aplikacji AngularJS, takich jak te (i inne): http://www.johnpapa.net/angular-app-structures-guidelines/ http://codingsmackdown.tv/blog/2013/04/19/angularjs-modules-for-great-justice/ http://danorlando.com/angularjs-architecture-understanding-modules/ http://henriquat.re/modularizing-angularjs/modularizing-angular-applications/modularizing-angular-applications.html Jednak jednym ze scenariuszy, na który jeszcze nie natknąłem się na wytyczne i najlepsze praktyki, jest przypadek, w którym masz dużą aplikację internetową zawierającą wiele aplikacji „mini-spa”, a wszystkie aplikacje …

13
Czy niewłaściwe jest używanie parametru boolowskiego do określania wartości?
Według Czy niewłaściwe jest używanie parametru boolowskiego do określania zachowania? , Wiem, jak ważne jest unikanie używania parametrów boolowskich do określania zachowania, np .: orginalna wersja public void setState(boolean flag){ if(flag){ a(); }else{ b(); } c(); } Nowa wersja: public void setStateTrue(){ a(); c(); } public void setStateFalse(){ b(); c(); …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.