Podsumowanie: Czy istnieją pewne sprawdzone wzorce najlepszych praktyk, które mogę stosować, aby mój kod był czytelny pomimo korzystania z kodu asynchronicznego i funkcji zwrotnych? Korzystam z biblioteki JavaScript, która wykonuje wiele czynności asynchronicznie i w dużej mierze opiera się na wywołaniach zwrotnych. Wydaje się, że napisanie prostej metody „load A, …
W moich programach C często potrzebuję sposobu, aby utworzyć ciąg reprezentujący moje ADT. Nawet jeśli nie muszę w żaden sposób drukować łańcucha na ekranie, fajnie jest mieć taką metodę debugowania. Tak więc często pojawia się tego rodzaju funkcja. char * mytype_to_string( const mytype_t *t ); W rzeczywistości zdaję sobie sprawę, …
Mam projekt, który jest wystarczająco duży, że nie mogę już dłużej zachować każdego aspektu w głowie. Mam do czynienia z wieloma klasami i funkcjami, a także przekazuję dane. Z czasem zauważyłem, że ciągle pojawiają się błędy, ponieważ zapomniałem, jaką dokładną formę muszą mieć dane, gdy przekazuję je różnym funkcjom ( …
Odziedziczyłem okropny kod, który zamieściłem poniżej. Czy istnieje nazwa tego konkretnego anty-wzoru? Jakie są zalecenia dotyczące refaktoryzacji tego? // 0=Need to log in / present username and password // 2=Already logged in // 3=Inactive User found // 4=Valid User found-establish their session // 5=Valid User found with password change needed-establish …
Pracuję z ogromnymi strunami, które wymagają dużo manipulacji. Na przykład mogę wygenerować taki ciąg: Część 1 Łódź Sekcja A Programowanie Część 2 Partycjonowanie łodzi do programowania. Sekcja AA Sekcja Wpisy SQL. Ciąg byłby zbyt duży, aby ręcznie sprawdzić każdą jego część. Teraz muszę splitto stringpodzielić na stringlistsekcje i części. Mogę …
Po kilku przydatnych odpowiedziach na pytanie, czy powinienem użyć obiektu domeny lub unikalnego identyfikatora jako parametru metody / funkcji tutaj Identyfikator vs. obiekt domeny jako parametru metody , mam podobne pytanie dotyczące: członkowie (w poprzednich dyskusjach nie udało się zakryj to). Jakie są zalety i wady używania unikalnych identyfikatorów jako …
Istnieje kilka (dość rzadkich) przypadków, w których istnieje ryzyko: ponowne użycie zmiennej, która nie jest przeznaczona do ponownego użycia (patrz przykład 1), lub używając zmiennej zamiast innej, semantycznie blisko (patrz przykład 2). Przykład 1: var data = this.InitializeData(); if (this.IsConsistent(data, this.state)) { this.ETL.Process(data); // Alters original data in a way …
C ++ ma funkcję (nie potrafię ustalić jej właściwej nazwy), która automatycznie wywołuje pasujące konstruktory typów parametrów, jeśli typy argumentów nie są oczekiwanymi. To bardzo prosty przykład jest to wywołanie funkcji, która spodziewa się std::stringz const char*argumentem. Kompilator automatycznie wygeneruje kod w celu wywołania odpowiedniego std::stringkonstruktora. Zastanawiam się, czy to …
Czytałem Refaktoryzację Martina Fowlera . Ogólnie jest znakomity, ale jedna z rekomendacji Fowlera wydaje się sprawiać trochę kłopotów. Fowler zaleca zastąpienie zmiennych tymczasowych zapytaniem, więc zamiast tego: double getPrice() { final int basePrice = _quantity * _itemPrice; final double discountFactor; if (basePrice > 1000) discountFactor = 0.95; else discountFactor = …
Często przechodzę do pozycji w moim kodzie, gdzie ciągle sprawdzam określony stan. Chcę dać ci mały przykład: załóżmy, że istnieje plik tekstowy zawierający linie zaczynające się od „a”, linie rozpoczynające się od „b” i inne linie, a tak naprawdę chcę pracować tylko z dwoma pierwszymi rodzajami linii. Mój kod wyglądałby …
Ogólnie dobrze jest unikać słów takich jak „uchwyt” lub „proces” jako część rutynowych nazw i nazw klas, chyba że mamy do czynienia z (np.) Uchwytami plików lub (np.) Procesami unixowymi. Jednak klasy abstrakcyjne często nie wiedzą, co zamierzają z czymś zrobić, poza, powiedzmy, przetworzeniem. W mojej obecnej sytuacji mam „EmailProcessor”, …
Zawsze popierałem pomysł posiadania reguł kodowania dla programistów w firmie lub konkretnym projekcie. Zwłaszcza jeśli firma ma rozmiar większy niż 10. Im większa firma, tym większa potrzeba. Wiem, że wiele osób się nie zgodzi, ale widziałem projekty, które ich nie mają, a kod wygląda jak totalna katastrofa. Prawdziwy problem z …
Ostatnio przełączam się między kilkoma projektami i środowiskami programistycznymi. Oczekiwania co do stylu kodowania w każdym są inne. Moje pytanie składa się z trzech części, po pierwsze z ciekawości: Jak zdefiniowałeś i znalazłeś swój styl kodowania? Jak ciągle go ulepszasz i poprawiasz? Jak to utrzymujesz? (Z notatek, prowadzenia dokumentu, korzystania …
Zazwyczaj deklarując klasę C ++, najlepszą praktyką jest umieszczanie tylko deklaracji w pliku nagłówkowym i implementacji w pliku źródłowym. Wydaje się jednak, że ten model projektowy nie działa w przypadku klas szablonów. Podczas wyszukiwania online wydaje się, że są 2 opinie na temat najlepszego sposobu zarządzania klasami szablonów: 1. Cała …
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.