Jestem inżynierem oprogramowania, który zajmuje się programowaniem pozycji w VBA (chociaż nie śmiem uważać tego za „prawdziwe” doświadczenie, ponieważ było to metodą prób i błędów!), Perl w / CGI, C # i ASP.NET. Te dwa ostatnie są po studiach licencjackich, z moim wejściem do „prawdziwego świata”. Jestem 2 lata po …
Nie znaczy to, że tak naprawdę jest to problem dla każdego, kto zmagał się z tym problemem składniowym, ale widzę ogromną dozę zamieszania wynikającą z użycia funkcji caret ( ^) jako operacji XOR zamiast powszechnie akceptowanej operacji matematycznego potęgowania. Oczywiście istnieje wiele miejsc, w których (niewłaściwe) użycie karetki jest wyjaśnione …
Mam klasę reprezentującą listę osób. class AddressBook { public: AddressBook(); private: std::vector<People> people; } Chcę pozwolić klientom na iterację po wektorze ludzi. Pierwszą myślą, którą miałem, było po prostu: std::vector<People> & getPeople { return people; } Nie chcę jednak ujawniać klientowi szczegółów implementacji . Mogę chcieć zachować pewne niezmienniki, gdy …
Generalnie używam identyfikatorów automatycznego przyrostu jako kluczy podstawowych w bazach danych. Próbuję poznać zalety korzystania z GUID. Przeczytałem ten artykuł: https://betterexplained.com/articles/the-quick-guide-to-guids/ Zdaję sobie sprawę, że te identyfikatory GUID są używane do identyfikacji obiektów na poziomie aplikacji. Czy są one również przechowywane jako klucz podstawowy na poziomie bazy danych. Powiedzmy, że …
Zawsze zdawałem sobie sprawę ze znaczenia stosowania wzorców projektowych. Jestem ciekawy, jak inni programiści wybierają ten najbardziej odpowiedni. Czy korzystasz z szeregu cech (takich jak schemat blokowy), aby pomóc Ci podjąć decyzję? Na przykład: Jeśli obiekty są powiązane, ale nie chcemy określać konkretnej klasy, rozważ opcję Streszczenie Kiedy tworzenie instancji …
Używam Dependency Injection na wiosnę już od jakiegoś czasu i rozumiem, jak to działa oraz jakie są zalety i wady korzystania z niego. Kiedy jednak tworzę nową klasę, często zastanawiam się - czy tą klasą powinien zarządzać Spring IOC Container? I nie chcę mówić o różnicach między adnotacją @Autowired, konfiguracją …
Pracuję nad prostym interfejsem API, którego chcę używać dla własnego klienta i aby był otwarty dla publiczności w przyszłości. Mam obiekty „Przedmiot”, które mogą mieć różne „typy”. Typ jest „enum typedef C”, na razie mam: typedef enum { ItemTypeBool, ItemTypeNumber, ItemTypeDate, } ItemType; (Mogę dodać trochę w przyszłości) Zastanawiam się, …
Z wzorców projektowych „Gang of Four” jest metoda Factory: class Factory(product) case product when a new A when b new B when c new C end new Factory(a) Dlaczego jest to bardziej przydatne niż o trzech klasach a, boraz ci nazywając je indywidualnie?
Zastanawiałem się przez jakiś czas, dlaczego Java i C # (i jestem pewien, że inne języki) domyślnie odnoszą się do równości ==. W programowaniu, które wykonuję (co z pewnością jest tylko niewielkim podzbiorem problemów programistycznych), prawie zawsze chcę logicznej równości podczas porównywania obiektów zamiast równości odniesienia. Próbowałem wymyślić, dlaczego oba …
Zen Pythona stwierdza w linii 14, że: Chociaż na początku taki sposób może nie być oczywisty, chyba że jesteś Holendrem. Czy to nawiązanie do słynnego holenderskiego informatyka Edsgera W. Dijkstry ?
Bardzo trudno jest mi zrozumieć te warunki. Szukałem w Google i czytałem trochę na Wikipedii, ale nadal nie jestem pewien. Do tej pory ustaliłem, że: Abstrakcyjny typ danych to definicja nowego typu, opisująca jego właściwości i działanie. Struktura danych jest implementacją ADT. Wiele ADT może być zaimplementowanych jako ta sama …
Ostatnio interesowałem się niektórymi koncepcjami programowania funkcjonalnego. Od jakiegoś czasu korzystam z OOP. Widzę, jak zbudowałbym dość złożoną aplikację w OOP. Każdy obiekt wiedziałby, jak to robić. Lub cokolwiek, co robi klasa rodziców. Mogę więc po prostu powiedzieć, Person().speak()żeby ta osoba mówiła. Ale jak zrobić podobne rzeczy w programowaniu funkcjonalnym? …
Przeczytałem większość książek o refaktoryzacji Fowlera i dokonałem refaktoryzacji wielu aplikacji w mojej dużej i małej przeszłości. Jedną z trudniejszych rzeczy, których nauczam, jest „kiedy” refaktoryzować. Zwykle robię to w oparciu o przeczucie, które w przeszłości służyło mi wyjątkowo dobrze. Jednak kiedy wchodzimy w dyskusje z ludźmi na temat tego, …
Kiedy po raz pierwszy nauczyłem się języka C ++, dowiedziałem się, że oprócz int, float itp. W tym języku istniały mniejsze lub większe wersje tych typów danych. Na przykład mógłbym wywołać zmienną x int x; or short int x; Główną różnicą jest to, że short int zajmuje 2 bajty pamięci, …
Mam następujący problem: Mam bazę danych zawierającą ponad 2 miliony rekordów. Każdy rekord ma pole ciągu X i chcę wyświetlić listę rekordów, dla których pole X zawiera określony ciąg. Każdy rekord ma rozmiar około 500 bajtów. Mówiąc konkretniej: w GUI mojej aplikacji mam pole tekstowe, w którym mogę wpisać ciąg …
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.