Często czytam, że programiści muszą pisać piękny kod, ale dla początkujących pozostaje niejasne, czym jest piękny kod i jak go rozpoznajesz? Następnym pytaniem jest: jak napisać piękny kod i jakie są praktyczne nawyki, aby poprawić jakość kodu? , o co powinienem dbać, aby kod, który piszę był piękny (i czego …
Zgodnie z zasadami testów jednostkowych TDD są pisane przed kodem produkcyjnym, ale co z testami integracyjnymi, które ćwiczą interakcję między konkretnymi (nie udawanymi) obiektami przewodowymi? Czy powinny być napisane przed testami jednostkowymi czy po kodzie produkcyjnym, aby przetestować „okablowanie”? Pamiętaj, że nie mówię o testach akceptacyjnych ani funkcjonalnych, ale testach …
Przeczytałem trochę na temat semantyki denotacyjnej (DS) i jestem bardzo zaintrygowany procesem projektowania programów komputerowych, w których typy i funkcje mają silne i wyraźne odwzorowania na matematykę. Czy są jakieś zasoby, które szczegółowo omawiają projektowanie programów opartych na DS? Widziałem kilka powierzchownych zabiegów na ten temat. Jestem biegły w Haskell, …
Abstrakcyjny: Tak więc, jak rozumiem (chociaż mam bardzo ograniczone rozumienie), istnieją trzy wymiary, z którymi (zwykle) pracujemy fizycznie: Pierwszy byłby reprezentowany przez linię. Drugi byłby reprezentowany przez kwadrat. Trzeci byłby reprezentowany przez sześcian. Wystarczająco proste, dopóki nie dotrzemy do czwartego - Trudno jest narysować w przestrzeni 3D, jeśli wiesz, co …
Powyższe pytanie jest abstrakcyjnym przykładem typowego problemu, który napotykam w starszym kodzie, a ściślej - problemów wynikających z poprzednich prób rozwiązania tego problemu. Mogę wymyślić co najmniej jedną metodę platformy .NET, która ma rozwiązać ten problem, podobnie jak Enumerable.OfType<T>metoda. Ale fakt, że ostatecznie kończysz przesłuchiwanie typu obiektu w czasie wykonywania, …
Według artykułu w Wikipedii na temat Spurious Wakeups „wątek może zostać przebudzony ze stanu oczekiwania, mimo że żaden wątek nie zasygnalizował zmiennej warunku”. Chociaż wiem o tej „funkcji”, nigdy nie wiedziałem, co ją spowodowało, aż w tym samym artykule „Nieprawidłowe wybudzanie może wydawać się dziwne, ale w niektórych systemach wieloprocesorowych, …
Jeśli programista skontaktuje się z tobą i poprosi o wkład w swój projekt, jak sobie z tym poradzisz? Nie wiesz, czy ten facet jest dobry. Być może będzie miał więcej kłopotów niż jest wart. Być może próbuje dołączyć swoje imię do udanego projektu tylko dla uznania. Być może próbuje poprowadzić …
Ostatnio znalazłem się w trudnym miejscu. Pracuję nad grą z programistą od prawie 8 miesięcy. Oboje zaczęliśmy jako początkujący programista około sierpnia ubiegłego roku, jest studentem CS na drugim roku, jestem z zawodu technikiem wsparcia IT i jestem samoukiem z mnóstwem książek i subskrypcji online. Problem, który ciągle widzę, polega …
Chciałbym wiedzieć, czy sensownie jest podzielić projekt, nad którym pracuję, na dwa repozytoria zamiast jednego. Z tego co mogę powiedzieć: Frontend zostanie napisany w html + js Backend w .net Backend nie zależy od frontendu, a frontend nie zależy od backendu Frontend użyje spokojnego interfejsu API zaimplementowanego w backend. Frontend …
Moja firma korzysta z Git i stosuje osobliwy schemat rozgałęziania - praca jest wykonywana w trybie głównym, a gałęzie są zarezerwowane dla wydań. Działa to dobrze, pod warunkiem, że cała praca wykonana w iteracji trafia do gałęzi, ale jeśli pojawi się krytyczny problem z produkcją, musimy upewnić się, że praca …
Załóżmy, że mam menedżera klas wywodzącego się z pracownika klasy podstawowej i że pracownik ma metodę getEmail (), która jest dziedziczona przez menedżera . Czy powinienem sprawdzić, czy zachowanie metody getEmail () menedżera jest w rzeczywistości takie samo jak zachowanie pracownika? W momencie pisania tych testów zachowanie będzie takie samo, …
Wiem, że programowanie w parach jest zwinną techniką tworzenia oprogramowania, w której dwóch programistów pracuje razem na jednym stanowisku roboczym. Jeden, kierowca, pisze kod, a drugi, obserwator, przegląda każdą linię kodu podczas wpisywania. Ale zastanawiam się, czy strategia nadal działa w tej sprawie. Na przykład jeśli mają zupełnie inny poziom …
Czy wprowadzenie nowej notacji lambda (patrz np. Ten artykuł ) w Javie 8 będzie wymagało pewnego rodzaju wnioskowania typu? Jeśli tak, to w jaki sposób nowy system typów wpłynie na język Java jako całość?
Wygląda na to, że List<T>w języku C # można zrobić wszystko, co tablica, i więcej, i wydaje się równie wydajna pod względem pamięci i wydajności, jak tablica. Dlaczego więc miałbym kiedykolwiek chcieć używać tablicy? Oczywiście nie pytam o przypadki, w których API lub inne zewnętrzne ograniczenie (tj. Funkcja Main) wymaga …
Ostatnio widziałem to pytanie na stronie math.SE. Zmusiło mnie to do myślenia. Czy Pi można wykorzystać jako surowy generator liczb losowych? Mam na myśli, że wyniki są dobrze znane (jak długo do tej pory obliczono liczbę Pi?), Ale Pi wydaje się dość losowy, gdy jest pobierany 1 cyfra na raz. …
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.