Rozumiem, że bezpośrednie tworzenie instancji zależności w klasie jest uważane za złą praktykę. Ma to sens, ponieważ tak ścisłe łączenie wszystkiego, co z kolei sprawia, że testowanie jest bardzo trudne. Prawie wszystkie frameworki, które spotkałem, wydają się faworyzować wstrzykiwanie zależności za pomocą kontenera niż używanie lokalizatorów usług. Oba wydają się …
Jaka jest różnica między warunkami współbieżnych i równoległego wykonywania? Nigdy nie byłem w stanie zrozumieć tego rozróżnienia. Tag definiuje współbieżność jako sposób uruchamiania dwóch procesów jednocześnie, ale myślałem, że równoległość jest dokładnie taka sama, tj. Osobne wątki lub procesy, które potencjalnie mogą być uruchomione na osobnych procesorach. Ponadto, jeśli weźmiemy …
Proste pytanie, ale często słyszę te trzy terminy zdefiniowane z taką zaciekłością, które z biegiem lat były dla mnie różne. Jakie są „prawidłowe” definicje „procedur”, „metod”, „funkcji”, „podprogramów” itp.?
Czytałem „Coders at Work” i stanąłem wobec faktu, że niektórzy profesjonaliści, z którymi przeprowadzono wywiady w książce, nie są tak entuzjastycznie nastawieni do wzorów. Myślę, że istnieją 2 główne powody: Wzory projektowe zmuszają nas do myślenia w ich kategoriach. Innymi słowy, prawie niemożliwe jest wynalezienie czegoś nowego (może lepszego). Wzory …
Czy różne konwencje nazewnictwa wersji są odpowiednie dla różnych projektów? Czego używasz i dlaczego? Osobiście wolę numer kompilacji w systemie szesnastkowym (np. 11BCF), należy go bardzo regularnie zwiększać. A następnie dla klientów prosty 3-cyfrowy numer wersji, tj. 1.1.3. 1.2.3 (11BCF) <- Build number, should correspond with a revision in source …
Niedawno przeprowadziłem wywiad w Amazon. Podczas sesji kodowania ankieter zapytał, dlaczego zadeklarowałem zmienną w metodzie. Wyjaśniłem mój proces, a on wezwał mnie do rozwiązania tego samego problemu przy mniejszej liczbie zmiennych. Na przykład (nie było to z wywiadu), zacząłem od metody A, a następnie ulepszyłem ją do metody B, usuwając …
Pracowałem w niektórych projektach, w których większość logiki biznesowej została zaimplementowana w bazie danych (głównie poprzez procedury składowane). Z drugiej strony słyszałem od innych programistów, że jest to zła praktyka („Bazy danych służą do przechowywania danych. Aplikacje służą do reszty”). Które z tych podejść jest ogólnie lepsze? Zalety wdrażania logiki …
Jestem programistą małej lokalnej aplikacji SaaS. Obecnie ma około pół tuzina klientów. W miarę projektowania aplikacji coraz trudniej mi przekonać się do poświęcenia czasu na projekt, co miało miejsce w początkowej fazie. Po przywiązaniu do projektu i kodu, który już napisałem, obawiam się, że wszelkie dodatkowe prace, które popełniam, zostaną …
Notka moderatora Na to pytanie wysłano już siedemnaście odpowiedzi . Zanim opublikujesz nową odpowiedź, przeczytaj istniejące odpowiedzi i upewnij się, że Twój punkt widzenia nie jest odpowiednio uwzględniony. Postępuję zgodnie z niektórymi praktykami zalecanymi w książce Roberta Martina „Czysty kod”, szczególnie te, które dotyczą tego rodzaju oprogramowania, z którym pracuję, …
Jestem stosunkowo nowym programistą, świeżo po studiach. Podczas studiów i późniejszych poszukiwań pracy zdałem sobie sprawę, że brakuje wielu „nowoczesnych” metodologii tworzenia oprogramowania, których brakuje w moim wykształceniu: testowanie jednostkowe, rejestrowanie, normalizacja baz danych, zwinne opracowywanie (w porównaniu z ogólnymi koncepcjami zwinnymi), styl kodowania przewodniki, refaktoryzacja, recenzje kodu, brak standardowych …
Oto cytat z przemówienia PyCon 2011 : Przynajmniej w naszym sklepie (Argonne National Laboratory) mamy trzy zaakceptowane języki do obliczeń naukowych. W tej kolejności są to C / C ++, Fortran we wszystkich jego dialektach i Python. Zauważysz absolutny i całkowity brak Ruby, Perl, Java. Było to w bardziej ogólnym …
Przeglądając kod współpracownika, natknąłem się na niektóre błędy ortograficzne w nazwach funkcji, a także błędy gramatyczne, takie jak „doesUserHasPermission ()” zamiast „doesUserHavePermission ()” w nazwach funkcji i zmiennych. Czy powinienem mu to wskazać, czy też jestem zbyt pedantyczny, zauważając je?
Muszę wyznać, że nie byłem tak silny w strukturach danych, kiedy skończyłem studia. Podczas stażu w kampusie byłem świadkiem, że większość dużych firm technologicznych, takich jak Amazon, Microsoft itp., Koncentruje się głównie na strukturach danych. Wygląda na to, że struktury danych są jedyną rzeczą, jakiej oczekują od absolwenta. Szczerze mówiąc, …
Czuję się jak rozsądnie wykwalifikowany programista, ale wiele ofert pracy, na które napotykam, sprawia, że czuję się inaczej. Prawie wszystkie z nich dzielą kwalifikacje na wymagania i wymagania, ale nawet część wymagań może być zniechęcająca. Widziałem wiele wpisów, które mówią, że wymagają kilku lat (2 lub więcej) doświadczenia w stosunkowo …
Zastanawiam się, dlaczego XML ma literę L w nazwie. Sam w sobie XML nic nie „robi”. To tylko format przechowywania danych, a nie język! Języki „robią” rzeczy. Sposób, w jaki XML „robi” rzeczy, aby zmienić je we właściwy język, polega na dodawaniu xmlnsatrybutów do elementu głównego. Dopiero wtedy informuje środowisko, …
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.