Inżynieria oprogramowania

9
Wady pionowych historii użytkowników

Zwinne podejście jest zorganizować pracę do pionowych historie użytkowników i dostarczać skoncentrowane, ale w pełni funkcjonującego kawałek z aplikacją typu koniec-koniec . Ponieważ jest to nowe podejście do tworzenia oprogramowania, czytam dużo literatury na temat tego, dlaczego jest to lepsze...

9
Projektowanie interfejsów i asynchronizacji

Załóżmy, że utworzyłem interfejs IFolderRepositoryz takimi metodami: IEnumerable<Folder> GetAllFolders(); Folder GetFolderWithId(int id); void AddFolder(Folder newFolder); void ModifyFolder(Folder folderToModify, Folder folderAfterModification); void RemoveFolder(Folder folderToRemove); i...

9
Prędkości << >> mnożenia i dzielenia

Możesz używać <<do mnożenia i >>dzielenia liczb w pythonie, kiedy je mierzę, stwierdzam, że użycie binarnego przesunięcia jest 10 razy szybsze niż dzielenie lub mnożenie w zwykły sposób. Dlaczego używa <<i >>jest dużo szybszy niż *i /? Jakie procesy stoją za sceną *i są...

9
Git stanowi alternatywę dla półki w TFS

Korzystam z git do moich osobistych projektów, więc nigdy nie spotkałem żadnych problemów z Gitem, ale miałem dzisiaj dyskusję w pracy i jest to coś, o czym nie myślałem. W TFS możesz przechowywać swój zestaw zmian w zestawie półek, ten zestaw półek może być oglądany przez innych programistów,...

9
Przechowujesz edytowalną treść witryny?

Mamy stronę internetową opartą na Django, dla której chcieliśmy, aby niektóre treści (tekst i logika biznesowa, taka jak plany cenowe) były łatwe do edycji we własnym zakresie , dlatego postanowiliśmy przechowywać je poza bazą kodu. Zwykle przyczyną jest jedna z następujących przyczyn: To coś, co...

9
Czy ta metoda jest czysta?

Mam następującą metodę rozszerzenia: public static IEnumerable<T> Apply<T>( [NotNull] this IEnumerable<T> source, [NotNull] Action<T> action) where T : class { source.CheckArgumentNull("source"); action.CheckArgumentNull("action"); return