Wszyscy więc słyszeliśmy o Programme Bill of Rights, a XP ma podobną koncepcję. W dzisiejszych czasach powszechną skargą jest to, że dużo słyszymy o prawach ludzi, ale nie tyle o ich obowiązkach, więc co powinno być na liście obowiązków programistów. Są to rzeczy, które powinni robić, co mogą być dla …
Przy opracowywaniu systemu lub aplikacji, której planujesz używać z określonym frameworkiem, najlepiej jest zaprojektować system bez uwzględnienia frameworka, czy lepiej jest zaprojektować system z nastawieniem „cóż, frameworki byłyby łatwiejsze z tym".
Swoją karierę jako programista .NET rozpocząłem 3 miesiące temu i po długim planie szkoleniowym na temat różnych technologii, wzorców i koncepcji programiści, którzy mnie nadzorowali, zdecydowali, że jestem gotów dołączyć do jednego z wielu projektów obsługiwanych przez firmę. Jestem bardzo podekscytowany, że w końcu mogę zacząć kodować. Zespół, do którego …
Mam 2 dni na podjęcie bardzo poważnej decyzji dotyczącej narzędzi i platform, z których moja firma zamierza korzystać, aby przenieść swoją aplikację WPF na system Linux / Android / iOS. Oczywiście mogę wskazać moim seniorom, że 2 dni to za mało, żeby przeczytać o wszystkich możliwych opcjach, a co z …
Ostatnio robię dużo recenzji kodu i nie jestem pewien pozytywnych i negatywnych efektów oraz profesjonalizmu umieszczania pozytywnych i / lub śmiesznych komentarzy w recenzjach kodu. Używamy Github jako naszej platformy do sprawdzania kodu w moim zespole, więc komentarze są widoczne dla każdego. Ogólnie staram się korzystać z tej platformy, aby …
Pracuję z następującym systemem: Network Data Feed -> Third Party Nio Library -> My Objects via adapter pattern Niedawno mieliśmy problem polegający na tym, że zaktualizowałem używaną przeze mnie bibliotekę, co spowodowało między innymi zmianę znaczników czasu (zwracanych przez bibliotekę zewnętrzną long) z milisekund po epoce na nanosekundy po epoce. …
W naszych przeważnie dużych aplikacjach zwykle mamy tylko kilka lokalizacji dla „stałych”: Jedna klasa dla graficznego interfejsu użytkownika i elementów wewnętrznych (tytuły stron tabulatora, tytuły pól grupy, współczynniki obliczeniowe, wyliczenia) Jedna klasa dla tabel i kolumn bazy danych (ta część jest generowana kodem) oraz czytelne nazwy dla nich (przypisane ręcznie) …
Lubię podnosić NotImplementedErrormetodę, którą chcę wdrożyć, ale tam, gdzie jeszcze się nie udało. Mogę już mieć częściową implementację, ale dodaj ją, raise NotImplementedError()ponieważ jeszcze jej nie lubię. Z drugiej strony lubię też przestrzegać konwencji, ponieważ ułatwi to innym osobom utrzymanie mojego kodu, a konwencje mogą istnieć z dobrych powodów. Jednak …
Obecnie jestem stażystą u kontrahenta rządowego i mam (obrzydliwie nieuniknione) wrażenie, że Word jest de facto standardem w procesie tworzenia oprogramowania. Jego format binarny bardzo utrudnia współpracę nad dokumentami w sposób, w jaki jestem przyzwyczajony do współpracy na bazie kodu. Użycie znaczników zwykłego tekstu (w takich językach, jak LaTeX, Markdown, …
Kiedy firma, w której pracuję, zatrudniała nowych menedżerów, oferowała nam przegląd czyichś kodów na każdym spotkaniu. Mamy spotkania co dwa tygodnie, więc za każdym razem jeden z programistów pokazywał swój kod na projektorze, a inni zamierzali go omawiać. Pomyślałem, że to będzie świetne: każdy programista będzie bardziej ostrożny podczas pisania …
Rozmawiając z kolegami o zasadach projektowania i tworzenia oprogramowania, zauważyłem, że jednym z najczęstszych źródeł analogii jest przemysł budowlany. Mamy budować oprogramowanie i uważamy, że projektowanie i budowa być architektura . Jednym z najlepszych sposobów uczenia się (lub nauczania) jest analiza analogii - jakie inne analogie można wyciągnąć z konstrukcji? …
Rozwój oparty na testach. Rozumiem, podoba mi się. Ale testy pisemne wymagają narzutu. Tak więc TDD powinno być stosowane uniwersalnie w całej bazie kodu, czy też istnieją obszary, w których TDD zapewnia wysoki ROI oraz inne obszary, w których ROI jest tak niski, że nie warto go śledzić.
W Test Driven Development (TDD) zaczynasz od rozwiązania nieoptymalnego, a następnie iteracyjnie produkujesz lepsze, dodając przypadki testowe i refaktoryzując. Kroki mają być małe, co oznacza, że każde nowe rozwiązanie będzie w jakiś sposób znajdować się w sąsiedztwie poprzedniego. Przypomina to matematyczne lokalne metody optymalizacji, takie jak opadanie gradientu lub wyszukiwanie …
Nieco ponad rok temu miałem szczęście, że mogłem zrobić 9-miesięczną przerwę w pracy. Zdecydowałem, że w tym czasie doskonalę swoje umiejętności w języku C #. Zacząłem pracować nad wieloma projektami i zmusiłem się do śledzenia TDD. To był dość pouczający proces. Na początku było ciężko, ale z czasem nauczyłem się …
Zespół programistów, do którego należę, niedawno przystosował się do pracy zgodnie z praktykami Agile. To osobiście podkreśliło fakt, że nie mogę powstrzymać się od pozłacania kodu (i dokumentacji), aw konsekwencji przekraczam oryginalne szacunki, kiedy mogłem dostarczać rozwiązania, które spełniają wymagania znacznie wcześniej. Myślę, że moja etyka graniczy z obsesyjnością, ponieważ …
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.