Menu / szukaj

Jak dbać o jakość kodu w naszym projekcie?

W poprzednią sobotę w trakcie prowadzenia wykładu o jakości oprogramowania trochę się zdziwiłem ponieważ dość duża liczba osób nie znała najprostszych narzędzi, które pozwalają poprawić jakość wytwarzanego oprogramowania. Koszt wdrożenia oraz utrzymywanie jakości w projekcie jest niewielki pod warunkiem, że pomyślimy o tym w momencie rozpoczynania pracy. Odkładanie tej decyzji w czasie powoduje, że rosną koszty naprawy potencjalnych błędów wprowadzonych w aplikacji.

Oczywiście docelowo zakładałbym, że naszym celem będzie utrzymanie poprawnego kodu, natomiast jeśli nie mamy na to wystarczającego budżetu to wdrożenie monitorowania jakości kodu pozwala nam na zorientowanie się w którym miejscu jesteśmy oraz określenie trendu. Czytaj dalej

NDepend – krótka recenzja

Już jakiś czas temu napisał do mnie Patrick Smacchia i poprosił o napisanie, krótkiej recenzji jego aplikacji – NDepend. Chyba nie trzeba przedstawiać nikomu tego narzędzia – jest to kombajn do analizy naszego kodu. Możliwości jego są olbrzymie. Chcąc podejść do tej prośby profesjonalnie, postanowiłem poznać to narzędzie dość dokładnie przed napisaniem czegokolwiek. Niestety poległem. Mnogość funkcji i możliwość dostosowywania tego narzędzia powodują, że jest naprawdę ciężko. Używając go już ponad dwa miesiące mogę spokojnie napisać, że nie czuję się dość zaawansowanym użytkownikiem. Czytaj dalej

FluentValidation.Validators.UnitTestExtension wersja 1.1

Nowa wersja pakietu FluentValidation.Validators.UnitTestExtension jest dostępna. Pakiet umożliwia tworzenie testów jednostkowych Fluent Validator-ów w sposób bardziej efektywny.

W wersji 1.1 wprowadziłem następujące zmiany:

  • dodałem wsparcie do najnowszej wersji biblioteki FluentValidation 7.*,
  • wprowadziłem możliwość szybkiego testowania dwóch walidatorów – ScalePrecisionValidator oraz RegularExpressionValidator.

Projekt dostępny jest oczywiście na GitHubie.

Pakiet Moq.EntityFramework.Helpers

Na blogu pojawiły się ostatnio dwa wpisy pokazujące w jaki sposób mnożna zamockować DbSet<TEntity> wykorzystując Moq:

Opisane rozwiązania połączyłem w jednej bibliotece i opublikowałem jako pakiet NuGet – Moq.EntityFramework.Helpers. Czytaj dalej

Lightning talk – Autofixture

Zachęcam do pobrania i przejrzenia prezentacji z mojego lightning talka dotyczącego biblioteki AutoFixture. Zadaniem tej biblioteki jest ograniczenie części Arrange, a tym samym kosztów utrzymania kodu w testach jednostkowych poprzez ułatwienie nam tworzenia obiektów. Prezentację można ściągnąć z GitHuba – AutoFixture – Lightning talk. Prezentacja przedstawia przykłady użycia wspominanej biblioteki oraz zawiera porównanie AutoFixture do innych bibliotek dostarczających podobną funkcjonalność. Oczywiście na GitHubie znajduje się również kod z przykładami.

PDF Combiner 1.7

W najnowszej wersji aplikacji wprowadziłem następujące zmiany:

– zmieniłem sposób łączenia plików
– poprawiłem działania przycisków Move up i Move down,
– naprawiłem wygląd aplikacji przy niestandardowych ustawieniach DPI w Windowsie,
– dodałem zabezpieczenia przed przypadkowym nadpisaniem pliku łączonego.

Najnowsza wersja może być pobrana ze strony aplikacji.

PDF Combiner 1.6

W najnowszej wersji aplikacji wprowadziłem następujące zmiany:

– dodałem wsparcie dla dokumentów przygotowanych zgodnie z najnowszym standardem dokumentu typu PDF,
– wprowadziłem możliwość łączenia dokumentów, które zabezpieczone są hasłem przed otwarciem,
– dodałem możliwość skopiowania dokładniejszej informacji o błędzie do systemowego schowka.

Najnowsza wersja może być pobrana ze strony aplikacji.

Kopiuj / Wklej z Visual Studio vs. ciemny styl

O gustach się nie dyskutuje, ale… Visual Studio można sobie bardzo ładnie dostosować do własnych potrzeb. Praktycznie można zmienić wszystko, co chcemy. Wydaje mi się, że jest to jedną z pierwszych rzeczy, jakie robimy po jego instalacji. Przynajmniej, jeśli chodzi o mnie to kolejność jest następująca: uaktualnienia, dodatki, style. I na koniec pozostaje jeszcze parę rzeczy dokonfigurować.

Z tych trzech rzeczy chciałbym się skupić na stylach. Nie wiem, jak u Was, ale u mnie podobnie jak w modzie obowiązują różne sezony. Przygodę z programowaniem zaczynałem z domyślnym stylem Visual Studio. Potem był okres zafascynowania się ciemną stroną, a obecnie pracuję na własnej konfiguracji – zmodyfikowany domyślny styl z szarym tłem. Czytaj dalej

GUID + VS2012 + R#

Czasem na prawdę małe rzeczy potrafią poprawić humor programiście. Takie drobne rozwiązania, które pozwalają na przyspieszenie tworzenia programu…

Ostatnio musiałem zrobić instalator aplikacji – wybór padł na WiXa. A tam przy każdym elemencie wchodzącym w skład instalatora trzeba podać GUID.

WiX - plik konfiguracyjny

Na szczęście z R# jest to znacznie ułatwione. Wystarczy napisać nguid, wcisnąć Tab i wybrać interesujący nas format.

GUID + VS2012 + R#