Pytania otagowane jako programming-practices

Praktyki programowania są powszechnie stosowanymi lub nie tak często stosowanymi praktykami przy tworzeniu oprogramowania. Mogą to być takie rzeczy, jak Agile Development, Kanban, skróty do kodowania itp.




4
Co to jest programowanie oparte na wzorcach?
Czy ktoś może wyjaśnić obsesję na punkcie wzorców i anty-wzorców w programowaniu? Pytam, ponieważ absolutnie nie mam pojęcia, co oznaczają te wzory. W obliczu zadania programistycznego przez chwilę myślę o tym problemie, zapisz niektóre struktury danych, które moim zdaniem będą odpowiednie, prototypuj rozwiązanie, rozdziel niektóre moduły i iteruj. Nigdzie nie …

4
Czy wstrzykiwanie zależności powinno odbywać się w ctor czy według metody?
Rozważać: public class CtorInjectionExample { public CtorInjectionExample(ISomeRepository SomeRepositoryIn, IOtherRepository OtherRepositoryIn) { this._someRepository = SomeRepositoryIn; this._otherRepository = OtherRepositoryIn; } public void SomeMethod() { //use this._someRepository } public void OtherMethod() { //use this._otherRepository } } przeciwko: public class MethodInjectionExample { public MethodInjectionExample() { } public void SomeMethod(ISomeRepository SomeRepositoryIn) { //use SomeRepositoryIn } …

2
Jak radzisz sobie ze zrozumieniem abstrakcji w kodzie?
Przyglądając się nowej bazie kodu, chciałbym zacząć od podejścia oddolnego. Gdzie rozumiem jeden plik, a następnie przechodzę do następnej abstrakcji. Ale często zapominam, co robi abstrakcja niższego poziomu. Będę w tym momencie, w którym znajdę się w niemal nieskończonej pętli, wracając do plików, które wcześniej w pełni zrozumiałem, a następnie …

5
Czy starszy kod powinien zostać zaktualizowany, aby używał nowszych konstrukcji języka, czy też powinien utknąć w przestarzałych konstrukcjach?
Chcę wprowadzić pewne ulepszenia w wciąż funkcjonującym kodzie, który został napisany dawno temu, zanim język programowania, w którym jest napisany, zaczął się rozwijać. Teoretycznie w całym projekcie wykorzystywana jest aktualna wersja języka; jednak ten konkretny moduł (i tak naprawdę wiele innych modułów) jest nadal zapisany w starszym dialekcie. Czy powinienem: …

4
Jak wykonać programowanie oparte na testach
Mam ponad 2-letnie doświadczenie w tworzeniu aplikacji. W ciągu tych dwóch lat moje podejście do rozwoju było następujące Analizuj wymagania Tożsamość Główny komponent / Obiekty, Wymagane funkcje, Zachowanie, Proces i ich ograniczenia Twórz klasy, relacje między nimi, ograniczenia dotyczące zachowania i stanów obiektów Twórz funkcje, przetwarzaj z ograniczeniami behawioralnymi zgodnie …

7
Czy powinienem refaktoryzować duże funkcje, które w większości składają się z jednego wyrażenia regularnego? [Zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . Właśnie napisałem funkcję, która obejmuje około 100 linii. Słysząc to, prawdopodobnie masz ochotę …

2
Co jest lepsze: wiązka pobierających lub 1 metoda z parametrem ciągu wyboru?
Nasza dziedzina wiedzy obejmuje osoby chodzące boso po płycie rejestrującej ciśnienie. Dokonujemy rozpoznawania obrazu, co powoduje powstanie obiektów klasy „Foot”, jeśli ludzka stopa zostanie rozpoznana w danych czujnika. Istnieje kilka obliczeń, które należy wykonać na danych stopy. Teraz, który interfejs API byłby lepszy: class Foot : public RecognizedObject { MaxPressureFrame …

3
Łączenie dzieci z rodzicami - zły pomysł?
Mam sytuację, w której mój rodzic wie o swoim dziecku (duh), ale chcę, aby dziecko mogło odnieść się do rodzica. Powodem tego jest to, że chcę, aby dziecko mogło określić się jako najważniejsze lub najmniej ważne, gdy ma na to ochotę. Gdy dziecko to robi, przesuwa je na górę lub …

2
Zbuduj jeden, aby go wyrzucić przeciwko efektowi drugiego systemu
Z jednej strony jest rada, która mówi „Zbuduj jednego, aby go wyrzucić”. Dopiero po skończeniu oprogramowania i zobaczeniu produktu końcowego zdajemy sobie sprawę, co poszło nie tak w fazie projektowania, i rozumiemy, jak naprawdę powinniśmy to zrobić. Z drugiej strony istnieje „efekt drugiego systemu”, który mówi, że drugi zaprojektowany system …

9
Czy programista powinien wziąć lekcje pisania, aby zwiększyć ekspresję kodu?
Biorąc pod uwagę, że programiści są autorami i piszą kod w celu wyrażenia abstrakcyjnych myśli i pojęć, a dobry kod powinien być czytany przez innych programistów bez trudności i nieporozumień, czy programiści powinni wziąć lekcje pisania, aby napisać lepszy kod? Wyodrębnianie pojęć i rzeczywistych problemów / podmiotów jest ważną częścią …

7
Niezerowy status wyjścia dla czystego wyjścia
Czy dopuszczalne jest zwrócenie niezerowego kodu wyjścia, jeśli program działał poprawnie? Powiedzmy na przykład, że mam prosty program, który (tylko) wykonuje następujące czynności: Program przyjmuje N argumentów. Zwraca kod wyjścia min (N, 255). Zauważ, że dowolne N jest ważne dla programu. Bardziej realistyczny program może zwracać różne kody dla pomyślnie …

5
Czy śledzenie małp jest uważane za dobrą praktykę programowania?
Miałem wrażenie, że monkeypatching jest bardziej w kategorii szybkiego i brudnego hacka, niż w standardowej dobrej praktyce programowania. Chociaż od czasu do czasu używałem do naprawy drobnych problemów z bibliotekami stron trzecich, uważałem to za tymczasowe i przesyłam odpowiednią łatkę do projektu strony trzeciej. Jednak widziałem tę technikę jako „normalną …

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.