Któregoś dnia sprawdziłem kod napisany przez kogoś z mojego zespołu. Rozwiązanie nie było w pełni funkcjonalne, a projekt był zbyt skomplikowany - co oznacza, że zawiera niepotrzebne informacje, zawiera niepotrzebne funkcje i zasadniczo kod ma wiele niepotrzebnych złożoności, takich jak pozłacanie, i próbował rozwiązać problemy, które nie istnieją. W tej …
Nie wiem, czy to pytanie jest ściśle związane z tworzeniem oprogramowania, ale spróbuję: Jak wielu programistów uwielbiam pracować nad projektami hobbystycznymi. Czasami pozornie dobre pomysły okazują się niezbyt dobre, więc rezygnuję z projektu. Ale czasami z projektu wychodzi coś pożytecznego. Więc mógłbym go wypuścić, przedstawić światu, prawda? Źle. Jakoś nie …
Podczas korzystania z metody łączenia, takiej jak: var car = new Car().OfBrand(Brand.Ford).OfModel(12345).PaintedIn(Color.Silver).Create(); mogą być dwa podejścia: Ponownie użyj tego samego obiektu, jak poniżej: public Car PaintedIn(Color color) { this.Color = color; return this; } Utwórz nowy obiekt typu Carna każdym kroku, na przykład: public Car PaintedIn(Color color) { var car …
Dlaczego wzorzec wstrzykiwania zależności nie został uwzględniony w grupie czterech osób ? Czy wcześniejsze, szeroko rozpowszechnione automatyczne testy GOF? Czy wstrzykiwanie zależności jest obecnie uważane za podstawowy wzór?
Rozumiem rolę modelu i widoku we wzorcu Model-Widok-Kontroler, ale trudno mi zrozumieć, dlaczego kontroler jest potrzebny. Załóżmy, że tworzymy program szachowy wykorzystujący podejście MVC; stan gry powinien być modelem, a GUI powinien być widokiem. Czym dokładnie jest kontroler w tym przypadku? Czy to tylko osobna klasa, która ma wszystkie funkcje, …
To 2012 rok! Mercurial i Git są nadal silne. Rozumiem kompromisy obu. Rozumiem również, że każdy ma jakieś preferencje dla jednego lub drugiego. W porządku. Szukam informacji o poziomie wykorzystania obu. Na przykład na stackoverflow.com wyszukiwanie Git daje 12000 trafień, Mercurial - 3000. Google Trends mówi, że Git to 1,9: …
Od jakiegoś czasu próbuję nauczyć się pisać testy jednostkowe dla mojego kodu. Początkowo zacząłem robić prawdziwy TDD, w którym nie pisałbym żadnego kodu, dopóki nie napisałem najpierw testu zakończonego niepowodzeniem. Jednak ostatnio miałem drażliwy problem do rozwiązania, który wymagał dużej ilości kodu. Po kilku tygodniach pisania testów, a potem pisania …
Karierę programistyczną rozpocząłem w BASIC, w 9 klasie. Nauczyłem się trochę języka BASIC, pisząc proste programy do dodawania, odejmowania i drukowania. Potem poszedłem na uniwersytet i podjąłem Informatykę i Inżynierię Systemów. W pierwszym roku uczyłem się C i mam nad tym dobrą władzę. Następnie nauczyłem się C ++ w drugim …
Typowy wzorzec, który widzę, to tak zwany Mapperwzorzec (którego nie należy mylić z DataMapperczymś zupełnie innym), który jako argument przyjmuje pewne „surowe” źródło danych (np. ADO.NET DataReaderlub DataSet) i mapuje pola na właściwości obiektu biznesowego / domeny. Przykład: class PersonMapper { public Person Map(DataSet ds) { Person p = new …
Pochodzę z języków takich jak Python lub Javascript (i innych, które są mniej zorientowane obiektowo) i staram się poprawić moją praktyczną znajomość Javy, którą znam tylko powierzchownie. Czy uważanie thisza wcześniejsze atrybuty instancji jest uważane za złą praktykę ? Pisanie jest dla mnie bardziej naturalne ... private String foo; public …
Dzisiaj trenowaliśmy TDD i znaleźliśmy następujący punkt nieporozumienia. Zadanie polega na tym, aby wejściowa „1,2” zwróciła sumę liczb, która wynosi 3. To, co napisałem (w C #) to: numbers = input.Split(','); return int.Parse(numbers[0]) + int.Parse(numbers[1]); //task said we have two numbers and input is correct Ale inni woleli robić to …
Jestem młodszym programistą i trudno mi oszacować, ile czasu zajmuje ukończenie większego projektu oprogramowania. Wiem, jak ogólnie zbudować architekturę, ale trudno mi wiedzieć, jakie szczegóły muszę zrobić i jakie problemy muszę rozwiązać. Trudno więc oszacować, ile czasu zajmie ukończenie większego projektu, ponieważ nie wiem, jakie problemy muszę rozwiązać i jak …
Słyszałem o programistach programujących przez dwa dni bez snu i picia kawy i Red Bulla . Również w filmach takich jak The Social Network , w scenie pokazują, że Mark Zuckerberg programuje od 36 godzin. Czytałem też gdzieś, że w firmach takich jak Facebook, Google, foursquare itp. Mogą kodować przez …
Kiedyś tworzyłem wiele abstrakcyjnych klas / metod. Potem zacząłem używać interfejsów. Teraz nie jestem pewien, czy interfejsy nie powodują, że klasy abstrakcyjne stają się przestarzałe. Potrzebujesz w pełni abstrakcyjnej klasy? Zamiast tego utwórz interfejs. Potrzebujesz abstrakcyjnej klasy z pewną implementacją? Utwórz interfejs, stwórz klasę. Dziedzicz klasę, zaimplementuj interfejs. Dodatkową korzyścią …
Wiem, że to dziwne, ale inny programista celowo zastosował kilka złych praktyk programistycznych! Wytłumaczę. Po pierwsze pozwól mi powiedzieć, że jest inteligentnym facetem i w większości pisze zrozumiały kod. Został poproszony o wdrożenie licencji na projekt aplikacji internetowej napisany w Javie. Ponieważ jest to Java, jeśli ktoś naprawdę tego chce, …
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.