Ostatnio pracuję zawodowo, spotykam się z innymi programistami i nawiązuję znajomości w branży. Jedyną rzeczą jest to, że jestem w 100% samoukiem. Spowodowało to, że mój styl bardzo odbiega od stylu tych, którzy są odpowiednio wyszkoleni. Różne są techniki i organizacja mojego kodu. To mieszanka kilku rzeczy, które robię. Zwykle …
Załóżmy, że chcę napisać funkcję, która łączy dwa ciągi znaków w C. Sposób, w jaki napisałbym to: void concat(char s[], char t[]){ int i = 0; int j = 0; while (s[i] != '\0'){ i++; } while (t[j] != '\0'){ s[i] = t[j]; i++; j++; } s[i] = '\0'; } …
Jestem dość nowy w inżynierii oprogramowania, dlatego jako ćwiczenie napisałem grę w szachy. Mój przyjaciel rzucił na to okiem i zwrócił uwagę, że mój kod wygląda for (int i = 0; i < 8; i++){ for (int j = 0; j < 8; j++){ podczas gdy nalegał, aby tak było …
Słyszałem o tym historie od starszych programistów i sam to widziałem. Wydaje się, że istnieje więcej niż kilka przypadków programistów piszących bezsensowny kod. Zobaczę takie rzeczy jak: Wywołania metod lub funkcji, które nie mają żadnej wartości. Nadmiarowe kontrole wykonane w osobnym pliku klasy, obiekcie lub metodzie. if stwierdzenia, które zawsze …
Jestem programistą Python, który przede wszystkim korzysta z pylint do kodowania kodu źródłowego. Jestem w stanie wyeliminować wszystkie ostrzeżenia oprócz jednego: Niepoprawna nazwa stałej. Zmienia nazwę na wszystkie wielkie litery to naprawia, ale czy naprawdę powinienem to zrobić? Jeśli to zrobię, okaże się, że mój kod wygląda brzydko, ponieważ większość …
Właśnie omówiłem wybór projektu po przejrzeniu kodu. Zastanawiam się, jakie są twoje opinie. Jest ta Preferencesklasa, która jest wiadrem dla par klucz-wartość. Wartości zerowe są legalne (to ważne). Oczekujemy, że niektóre wartości mogą jeszcze nie zostać zapisane i chcemy automatycznie obsługiwać te przypadki, inicjując je z predefiniowaną wartością domyślną na …
Firma, w której pracuję, inicjuje wszystkie swoje struktury danych za pomocą funkcji inicjalizacji, takiej jak: //the structure typedef struct{ int a,b,c; } Foo; //the initialize function InitializeFoo(Foo* const foo){ foo->a = x; //derived here based on other data foo->b = y; //derived here based on other data foo->c = z; …
Często próbuję zdecydować, który z tych dwóch sposobów użyć, gdy muszę użyć wspólnych danych w niektórych metodach w moich klasach. Jaki byłby lepszy wybór? W tej opcji mogę utworzyć zmienną instancji, aby uniknąć konieczności deklarowania dodatkowych zmiennych, a także aby uniknąć definiowania parametrów metody, ale może nie być tak jasne, …
Na przykład widziałem niektóre kody, które tworzą taki fragment: Fragment myFragment=new MyFragment(); który deklaruje zmienną jako Fragment zamiast MyFragment, który MyFragment jest klasą potomną Fragment. Nie jestem usatysfakcjonowany tą linią kodów, ponieważ uważam, że ten kod powinien być: MyFragment myFragment=new MyFragment(); co jest bardziej szczegółowe, czy to prawda? Lub w …
Na przykład chcę wyświetlić listę przycisków od 0,0,5, ... 5, która przeskakuje za każde 0,5. Używam do tego pętli for i mam inny kolor pod przyciskiem STANDARD_LINE: var MAX=5.0; var DIFF=0.5 var STANDARD_LINE=1.5; for(var i=0;i<=MAX;i=i+DIFF){ button.text=i+''; if(i==STANDARD_LINE){ button.color='red'; } } W tym przypadku nie powinno być żadnych błędów zaokrąglania, ponieważ …
Problem: Od dłuższego czasu martwię się o exceptionsmechanizm, ponieważ uważam, że tak naprawdę nie rozwiązuje tego, co powinien. ROSZCZENIE: Na ten temat toczą się długie debaty i większość z nich ma trudności z porównywaniem exceptionsi zwracaniem kodu błędu. To zdecydowanie nie jest tutaj temat. Próbując zdefiniować błąd, zgodziłbym się z …
Chciałbym dowiedzieć się, kto wprowadził wcięcia kodu, a także kiedy i gdzie został wprowadzony. Wydaje się to bardzo ważne dla zrozumienia kodu, ale nie było uniwersalne. Większość kodów Fortran i Basic była (jest?) Niewzruszona, to samo dotyczy Cobola. Jestem prawie pewien, że widziałem nawet stary kod Lisp napisany jako ciągły …
Kiedy należy umieścić dane typu Klucz / Wartość we własnej klasie zamiast korzystać ze wstępnie zbudowanej struktury ogólnej, takiej jak a KeyValuePairlub a Tuple? Na przykład większość tworzonych przeze mnie pojemników ComboBox zawiera DisplayName i Value. Jest to rodzaj danych, które próbuję zdecydować, kiedy wprowadzić nową klasę, a kiedy tylko …
Jest to nieco kontrowersyjny temat i myślę, że jest tyle opinii, ile jest programistów. Ale ze względu na to chcę wiedzieć, jakie są powszechne praktyki w biznesie (lub w miejscach pracy). W moim miejscu pracy mamy ścisłe wytyczne dotyczące kodowania. Jedna z nich poświęcona jest magicznym ciągom znaków / liczbom. …
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.