Mam klasę, która będzie czytać z Excela (C # i .Net 4), aw tej klasie mam proces roboczy w tle, który załaduje dane z Excela, podczas gdy interfejs użytkownika może pozostać responsywny. Moje pytanie brzmi: czy źle jest mieć pracownika pracującego w tle w klasie? Czy powinienem utworzyć swoją klasę …
Załóżmy, że mamy moduł oprogramowania A, który implementuje funkcję F. Inny moduł B implementuje tę samą funkcję co F '. Istnieje wiele sposobów na pozbycie się duplikatu kodu: Niech A użyje F 'z B. Niech B użyje F z A. Umieść F we własnym module C i pozwól, aby korzystały …
Załóżmy, że mamy 1001 klientów, którzy konstruują swoje zależności bezpośrednio, zamiast akceptować zastrzyki. Według naszego szefa refaktoryzacja 1001 nie jest opcją. W rzeczywistości nie mamy nawet dostępu do ich źródła, tylko do plików klas. Powinniśmy „zmodernizować” system, przez który przechodzi 1001 klientów. Możemy refaktoryzować to, co lubimy. Zależności są częścią …
Nadal uważam się za programistę-ucznia, więc zawsze szukam „lepszego” sposobu na typowe programowanie. Dzisiaj mój współpracownik argumentował, że mój styl kodowania robi niepotrzebną pracę i chcę usłyszeć opinie innych. Zazwyczaj, gdy projektuję klasę w języku OOP (zwykle C ++ lub Python), dzieliłem inicjalizację na dwie różne części: class MyClass1 { …
Projektuję interfejs za pomocą dwóch powiązanych metod, podobnych do tego: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Około połowa implementacji obliczy tylko jedną rzecz, podczas gdy druga połowa może obliczyć więcej. Czy ma to jakiś precedens w powszechnie …
Rozumiem intencję zasady otwartego zamknięcia. Ma to na celu zmniejszenie ryzyka zepsucia czegoś, co już działa, podczas modyfikowania go, poprzez nakazanie próby rozszerzenia bez modyfikacji. Miałem jednak pewne problemy ze zrozumieniem, w jaki sposób ta zasada jest stosowana w praktyce. W moim rozumieniu istnieją dwa sposoby zastosowania tego. Przed 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 . Nauczyłem się w szkole i czytałem wszędzie, że dobra metodologia rozwoju wymaga koncepcji …
Ostatnio zajmuję się bardziej „zorganizowanym” programowaniem i dowiaduję się, że powinienem programować interfejs, a nie implementację. Mając to na uwadze, czy lepiej byłoby „naszkicować” projekt w interfejsach przed napisaniem implementacji, jeśli to możliwe? A jeśli tak jest, to w przypadku korzystania z bibliotek stron trzecich (tj. Lidgren), czy powinienem owijać …
tl; dr Niektóre powszechnie używane programy, które generują HTML, generują tylko otwierające znaczniki akapitów, a nie zamykające, zakładając, że przeglądarka prawidłowo zamyka akapity. Na pierwszy rzut oka wydaje mi się, że założenie, że przeglądarki będą poprawnie zamykać akapity, jest nieprawidłowe. Czy moja interpretacja jest poprawna? Mówiąc bardziej ogólnie, jakie kompromisy …
Powiedzmy na przykład, że chcę pobrać użytkownika oraz wszystkie jego numery telefonów i adresy e-mail. Numery telefonów i e-maile są przechowywane w osobnych tabelach, jeden użytkownik do wielu telefonów / e-maili. Mogę to zrobić dość łatwo: SELECT * FROM users user LEFT JOIN emails email ON email.user_id=user.id LEFT JOIN phones …
Często w tabeli, która nie ma naturalnego klucza, nadal przydatne jest, aby użytkownicy mogli mieć unikatowo wygenerowany identyfikator. Jeśli tabela ma zastępczy klucz podstawowy (a w takim przypadku na pewno byś się tego spodziewał), czy klucz ten powinien zostać udostępniony użytkownikowi, czy też powinno się w tym celu użyć innego …
Pracuję nad produktem, w którym jednym z modułów jest parsowanie plików XML i zrzucanie wymaganej zawartości do bazy danych. Mimo że obecnym wymaganiem jest tylko parsowanie plików XML, chcę zaprojektować mój moduł analizujący w taki sposób, aby w przyszłości mógł obsługiwać dowolny rodzaj plików. Powodem takiego podejścia jest to, że …
Korzystamy z szeregu oddzielnych klas z przyrostkiem, -repositoryaby pobrać dane z bazy danych; dla każdej tabeli własne repozytorium. Mamy na przykład customerrepositoryklasę, która ma wszelkiego rodzaju metody pozyskiwania klientów i vacancyrepositoryktóra ma wszelkiego rodzaju metody pozyskiwania wolnych miejsc pracy. Mam dwa pytania dotyczące tego sposobu robienia rzeczy: Co powiesz na …
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 4 lata temu . Ostatnio brałem udział w kilku wywiadach i firmy poprosiły mnie o więcej niż …
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 …
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.