Pytania otagowane jako language-agnostic

Ten tag dotyczy pytań, które nie są specyficzne dla języka programowania lub środowiska.

30
Co powinien wiedzieć każdy programista?
Co powinien wiedzieć każdy programista, niezależnie od zastosowanego języka (języków) programowania, systemu operacyjnego lub środowiska, dla którego opracowuje. Niektóre tło: Chcę zostać najlepszym programistą. W ramach tego procesu staram się zrozumieć to, czego nie wiem i bardzo by mi to przyniosło korzyść. Chociaż istnieje mnóstwo list w stylu „n rzeczy, …

20
Czy „złam” i „kontynuuj” złe praktyki programowania?
Mój szef utrzymuje wspomnieć nonszalancko, że złe programiści używać breaki continuew pętli. Używam ich cały czas, ponieważ mają sens; pozwól, że pokażę ci inspirację: function verify(object) { if (object->value < 0) return false; if (object->value > object->max_value) return false; if (object->name == "") return false; ... } Chodzi o to, …

18
Czy istnieje wymówka dla krótkich nazw zmiennych?
Stało się to wielką frustracją z bazą kodu, nad którą obecnie pracuję; wiele z naszych zmiennych jest krótkich i nieopisowych. Jestem jedynym programistą, który pozostał w projekcie i nie ma dokumentacji dotyczącej tego, co większość z nich robi, więc muszę poświęcić dodatkowy czas na śledzenie tego, co reprezentują. Na przykład …

10
Kiedy warto wymusić zbieranie śmieci?
Czytałem więc pytanie o zmuszeniu modułu śmieciowego C # do uruchomienia tam, gdzie prawie każda odpowiedź jest taka sama: możesz to zrobić, ale nie powinieneś - z wyjątkiem bardzo rzadkich przypadków . Niestety nikt nie wyjaśnia, jakie są takie przypadki. Czy możesz mi powiedzieć w jakim scenariuszu wymuszenie zbierania śmieci …

11
Nowoczesny sposób obsługi błędów…
Od jakiegoś czasu zastanawiam się nad tym problemem i ciągle znajduję zastrzeżenia i sprzeczności, więc mam nadzieję, że ktoś może wyciągnąć wnioski na następujące tematy: Preferuj wyjątki od kodów błędów O ile mi wiadomo, od czterech lat pracy w branży, czytania książek i blogów itp. Najlepszą praktyką postępowania w przypadku …

13
Dlaczego nie przechowujemy drzewa składni zamiast kodu źródłowego?
Mamy wiele języków programowania. Każdy język jest analizowany i sprawdzany pod względem składni przed przetłumaczeniem na kod, dzięki czemu budowane jest abstrakcyjne drzewo składni (AST). Mamy to abstrakcyjne drzewo składniowe, dlaczego nie przechowujemy tego drzewa składniowego zamiast kodu źródłowego (lub obok kodu źródłowego)? Używając AST zamiast kodu źródłowego. Każdy programista …

30
Szkodliwe pokusy w programowaniu
Ciekawe, jakie pokusy w programowaniu okazały się naprawdę szkodliwe dla twoich projektów? Na przykład, kiedy naprawdę czujesz potrzebę zrobienia czegoś i wierzysz, że przyniesie to korzyść projektowi, albo po prostu oszukasz się, że tak jest, i po tygodniu zdajesz sobie sprawę, że nie rozwiązałeś żadnych prawdziwych problemów, ale stworzyłeś nowe …

1
Czy naprawdę istnieje zasadnicza różnica między wywołaniami zwrotnymi a obietnicami?
Podczas programowania jednowątkowego programowania asynchronicznego znane mi są dwie główne techniki. Najczęstszym z nich jest użycie wywołań zwrotnych. Oznacza to przekazanie do funkcji, która działa asynchronicznie jako funkcja zwrotna jako parametr. Po zakończeniu operacji asynchronicznej wywołanie zwrotne zostanie wywołane. Niektóre typowe jQuerykody zaprojektowane w ten sposób: $.get('userDetails', {'name': 'joe'}, function(data) …



6
Jak działa wyrzucanie elementów bezużytecznych w językach, które są kompilowane natywnie?
Po przejrzeniu kilku odpowiedzi na temat przepełnienia stosu jest jasne, że niektóre natywnie skompilowane języki mają funkcję usuwania śmieci . Ale nie jest dla mnie jasne, jak dokładnie by to działało. Rozumiem, jak wyrzucanie elementów bezużytecznych może działać z interpretowanym językiem. Śmieciarka po prostu działałaby obok interpretera i usuwała nieużywane …

7
Co wiąże wcześnie i późno?
Ciągle słyszę o wczesnym i późnym wiązaniu, ale nie rozumiem, czym one są. Znalazłem następujące wyjaśnienie, którego nie rozumiem: Wczesne wiązanie odnosi się do przypisywania wartości do zmiennych w czasie projektowania, natomiast późne wiązanie odnosi się do przypisywania wartości do zmiennych w czasie wykonywania. Czy ktoś mógłby zdefiniować dwa rodzaje …


10
Czy dobrą praktyką jest zastępowanie dzielenia mnożeniem, jeśli to możliwe?
Ilekroć potrzebuję podziału, na przykład sprawdzania warunku, chciałbym zmienić wyrażenie dzielenia na mnożenie, na przykład: Orginalna wersja: if(newValue / oldValue >= SOME_CONSTANT) Nowa wersja: if(newValue >= oldValue * SOME_CONSTANT) Ponieważ myślę, że można tego uniknąć: Dzielenie przez zero Przepełnienie, gdy oldValuejest bardzo małe Czy to prawda? Czy istnieje problem z …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.