Inżynieria oprogramowania

44
Dlaczego najgorszy przypadek dla tej funkcji O (n ^ 2)?

Próbuję nauczyć się, jak obliczyć notację BigO dla dowolnej funkcji. Znalazłem tę funkcję w podręczniku. Książka potwierdza, że ​​funkcją jest O (n 2 ). To wyjaśnia, dlaczego tak jest, ale staram się podążać. Zastanawiam się, czy ktoś mógłby mi pokazać matematykę, dlaczego tak jest. Zasadniczo...

43
SOLIDNE zasady a YAGNI

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...

43
Czy pojedynczy obiekt konfiguracji to zły pomysł?

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...

43
Prototypowanie kontra czysty kod na wczesnych etapach

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...

43
Czy bezpieczniejsze jest wielokrotne hashowanie hasła?

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...

43
Wyzwalacze SQL oraz kiedy i kiedy nie należy ich używać.

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...

43
Czy źle jest przeprowadzać rozmowy kwalifikacyjne, aby kandydaci napisali implementację listy powiązanej? [Zamknięte]

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...