Inżynieria oprogramowania

Pytania i odpowiedzi dla profesjonalistów, nauczycieli akademickich i studentów pracujących w cyklu życia systemów


8
Licencja na oprogramowanie, która dyskryminuje z przyczyn „etycznych”
Spędziłem trochę czasu czytając wspólne licencje na oprogramowanie copyleft i permissive. Czy istnieje licencja, która pozwala twórcy aplikacji lub algorytmu na ogólne określenie, kto może używać / rozpowszechniać produkt na podstawie własnych osobistych uprzedzeń? Rozumiem, że ludzie używają podwójnych licencji, aby zmusić podmioty komercyjne do płacenia za licencję poboczną lub …

9
Czy dobrą praktyką jest przeprowadzanie testów jednostkowych w hakach kontroli wersji?
Z technicznego punktu widzenia możliwe jest dodanie niektórych zaczepów przed / po naciśnięciu, które będą uruchamiać testy jednostkowe przed zezwoleniem na połączenie określonego zatwierdzenia ze zdalną domyślną gałęzią. Moje pytanie brzmi - czy lepiej jest utrzymywać testy jednostkowe w potoku kompilacji (w ten sposób wprowadzając uszkodzone commits do repo) czy …

7
Pełna niezmienność i programowanie obiektowe
W większości języków OOP obiekty są ogólnie modyfikowalne z ograniczonym zestawem wyjątków (takich jak np. Krotki i ciągi w pythonie). W większości języków funkcjonalnych dane są niezmienne. Zarówno zmienne, jak i niezmienne obiekty wnoszą własną listę zalet i wad. Istnieją języki, które próbują łączyć oba pojęcia, takie jak np. Scala, …

3
Metoda logiczna Naming Affirmative vs Negative
Czy metody boolowskie powinny zawsze przyjmować formę twierdzącą, nawet jeśli kiedykolwiek będą stosowane tylko w formie negatywnej? Powiedzmy, że chciałem sprawdzić, czy istnienie istnieje przed utworzeniem jednego, moim argumentem jest to, że pierwsza forma poniżej jest lepsza niż druga forma, niezależnie od tego, czy metoda jest kiedykolwiek używana w formie …
43 naming  functions 

4
przegląd kodu za pomocą git-flow i github
Za pomocą zwykłych git i github mogę dokonać przeglądu kodu, po prostu tworząc żądanie ściągnięcia gałęzi funkcji, nad którą pracuję, do gałęzi master. Jak mam napisać recenzję kodu za pomocą git-flow? Jeśli chodzi o przepływ pracy, taki jak „zakończenie funkcji git flow”, jestem zdezorientowany co do tego, gdzie faktycznie ma …

3
Programowanie zasad SOLID
Z czasem mogłem zrozumieć dwie części SOLID - „S” i „O”. „O” - nauczyłem się otwartej zasady zamkniętej za pomocą wzoru dziedziczenia i strategii. „S” - nauczyłem się zasady pojedynczej odpowiedzialności podczas uczenia się ORM (logika trwałości jest odbierana obiektom domeny). W podobny sposób, jakie są najlepsze regiony / zadania …

16
Data jako numer wersji oprogramowania
Twórcy oprogramowania zwykle nie używają daty jako numeru wersji, chociaż format RRRRMMDD (lub jego warianty) wygląda na wystarczająco solidny, aby go użyć. Czy coś jest nie tak z tym schematem? Czy może dotyczy tylko ograniczonych „rodzajów” oprogramowania (takich jak produkcje własne)?
43 versioning 

11
Jakie są najlepsze praktyki dotyczące niepodpisanych ints?
Używam wszędzie niepodpisanych int i nie jestem pewien, czy powinienem. Może to być od kolumny identyfikatora klucza podstawowego bazy danych do liczników itp. Jeśli liczba nigdy nie powinna być ujemna, zawsze będę używał znaku int bez znaku. Jednak zauważam z kodu innego, że nikt inny tego nie robi. Czy przeoczyłem …




7
Jak radzisz sobie z kodowaniem integrującym z wielu gałęzi / programistów podczas każdego sprintu?
Właśnie dostałem telefon retro, w którym programiści wyrazili zaniepokojenie integracją swoich historii w głównej gałęzi każdego sprintu. Wszyscy programiści kodują we własnej gałęzi i pod koniec sprintu łączą się w jedną gałąź główną. Następnie jeden programista (zwykle ten sam) ma za zadanie upewnić się, że wszystko dobrze zintegrowało się z …

1
Zmienianie nazwisk autorów w licencji MIT [zamknięte]
Kilka lat temu napisałem i wydałem oprogramowanie na licencji MIT. Ostatnio zauważyłem, że jeden (lub kilka?) Z widelców zmienił wiodące powiadomienie o prawach autorskich u góry licencji, tj. Copyright (c) 2014 <my name> MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this …

9
Czy „unikanie problemu jo-jo” jest ważnym powodem pozwalającym na „prymitywną obsesję”?
Według Kiedy prymitywna obsesja nie jest zapachem kodu? , Powinienem utworzyć obiekt ZipCode reprezentujący kod pocztowy zamiast obiektu String. Jednak z mojego doświadczenia wolę widzieć public class Address{ public String zipCode; } zamiast public class Address{ public ZipCode zipCode; } ponieważ myślę, że ten ostatni wymaga ode mnie przejścia do …

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.