Nie jestem pewien, czy „labirynt” jest właściwym terminem. Zasadniczo użytkownicy zaczynają od jednego, Roomktóry ma 4 drzwi (N, S, E i W). Mogą iść w dowolnym kierunku, a każdy kolejny pokój zawiera inny pokój z dowolnym miejscem od 1 do 4 drzwi prowadzących do innych pokoi. „Labirynt” ma być nieograniczony …
Interesuje mnie, czy wzór ActiveRecord, rozsławiony przez Ruby on Rails, zachęca lub zniechęca do korzystania z zasad projektowania SOLID . Na przykład wydaje mi się, że obiekty ActiveRecord zawierają zarówno logikę domeny, jak i logikę trwałości, co stanowi naruszenie zasady pojedynczej odpowiedzialności.
Kiedy początkowo uczyłem się o SQL, zawsze mi mówiono, że używaj wyzwalaczy tylko wtedy, gdy naprawdę potrzebujesz, i zamiast tego wybieraj procedury przechowywane, jeśli to możliwe. Niestety, w tamtym czasie (kilka dobrych lat temu) nie byłem tak ciekawy i dbałem o podstawy jak teraz, więc nigdy nie pytałem o powód. …
Czytając tę stronę i SO, widziałem wiele historii pytań i odpowiedzi na rozmowy kwalifikacyjne, które mówiły, że kandydat musiał zaimplementować listę od podstaw. Zwykle jest to ćwiczenie „gimme” do programowania kandydatów na role, takich jak pisanie FizzBuzz. Chodzi o to, że jeśli kandydat nie może tego zrobić, nie może zaprogramować …
Styl C # sugeruje użycie CamelCase w identyfikatorach do rozgraniczenia słów. Tradycja Lisp sugeruje użycie zamiast-myślników. Czy kiedykolwiek istniał język programowania, w którym używanie spacji w identyfikatorach było nie tylko dozwolone, ale często używany idiom przy stosowaniu identyfikatorów wielosłówowych? Możliwe jest posiadanie identyfikatorów ze spacjami w niektórych implementacjach schematu , …
Przeczytałem kilka razy, że podczas przechowywania haseł, dobrą praktyką jest „podwójne hashowanie” ciągów (np. Z md5, a następnie sha1, oczywiście oba z solami). Wydaje mi się, że pierwsze pytanie brzmi: „czy to rzeczywiście jest poprawne?” Jeśli nie, to proszę odrzucić resztę tego pytania :) Pytam dlatego, że na pierwszy rzut …
Od kilku lat bawię się funkcjonalnymi językami programowania i ciągle spotykam się z tym zwrotem. Na przykład jest to rozdział „The Little Schemer”, który z pewnością poprzedza blog pod tą nazwą (nie, ten rozdział nie pomaga odpowiedzieć na moje pytanie). Rozumiem, co oznacza lambda, idea anonimowej funkcji jest zarówno prosta, …
Planuję pracować / rozpocząć kilka osobistych projektów, które mogą zakończyć się moją codzienną pracą. Sprawiło, że pomyślałem, w jaki sposób powinienem zacząć? Tylko prototyp - napisz działający kod podstawowy, który może kosztować mnóstwo czasu optymalizacji i refaktoryzacji w celu łatwej rozbudowy. Napisz czysty, zoptymalizowany i udokumentowany kod od samego początku, …
W większości moich aplikacji mam singleton lub statyczny obiekt „config”, który odpowiada za odczytywanie różnych ustawień z dysku. Prawie wszystkie klasy używają go do różnych celów. Zasadniczo jest to tylko tablica skrótów par nazwa / wartość. Jest tylko do odczytu, więc nie martwiłem się zbytnio faktem, że mam tak dużo …
Zarządzanie innymi programistami, gdy sam jesteś częścią siły roboczej zajmującej się programowaniem. To bardzo popularny schemat, przynajmniej w firmach, w których pracowałem. Czy potrafisz być dobrym programistą lub dobrym menedżerem, jeśli robisz to jednocześnie? Kwestionuję skuteczność osoby, która musi odgrywać dwie bardzo różne role, wymagające bardzo różnych umiejętności, środowiska, koncentracji, …
Kiedy zasady SOLID stają się YAGNI? Jako programiści dokonujemy kompromisów przez cały czas, między złożonością, łatwością utrzymania, czasem budowy i tak dalej. Między innymi dwie najmądrzejsze wytyczne dotyczące dokonywania wyborów to moim zdaniem zasady SOLID i YAGNI. Jeśli nie potrzebujesz tego; nie buduj go i utrzymuj w czystości. Teraz, na …
Czasami czuję się jak muzyk, który nie może grać na żywo. Programowanie to całkiem fajna umiejętność i bardzo szeroki świat, ale wiele z nich dzieje się „poza kamerą” - w twojej głowie, w biurze, z dala od widzów. Możesz oczywiście rozmawiać o programowaniu z innymi programistami, istnieje programowanie równorzędne i …
W starszym kodzie czasami widzę klasy, które są niczym innym jak opakowaniami danych. coś jak: class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } Rozumiem OO, że klasy są strukturami danych i metodami operowania na nich. Wydaje się, że wyklucza to obiekty tego typu. Dla …
Rozmawiam ze współpracownikiem na temat Linq, skopiuję tutaj: Współpracownik: Bądźmy szczerzy tutaj. Składnia Linq jest do bani. Jest to mylące i nieintuicyjne. Ja: och, daj spokój, bardziej zagmatwany niż T-SQL? Współpracownik: tak. Ja: ma te same podstawowe części, wybierz, gdzie i skąd Współpracownik: Linq jest dla mnie draństwem relacji + …
Zacząłem poważnie programować jako hobbysta, student, a następnie stażysta około 4 lata temu i zawsze robiłem małe projekty z boku jako ćwiczenie edukacyjne. Ale szkoły już się skończyły i spędzam dni w pracy jako programista. Nadal chciałbym robić projekty z boku, aby dowiedzieć się o obszarach informatyki, na które nie …
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.