Zine.net online

Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc
w Szukaj

mgrzeg.net - Admin on Rails :)

Refactor to Enterprise Library 3.1 – Zapowiedź konkursu

W trakcie wspólnych badań nad Enterprise Library, w gronie kilku osób z Redakcji Zina przygotowaliśmy trochę materiału, który można wykorzystać jako podstawę do małego konkursu poświęconego właśnie temu projektowi. Zdecydowaliśmy się zatem zorganizować konkursik z drobnymi nagrodami, sponsorowanymi przez przyjaciela serwisu.  Ale o tym nieco dalej.

Enterprise Library jest zestawem bibliotek pozwalających wprowadzać do naszego kodu ‘dobre praktyki’ oparte o sprawdzone wzorce projektowe i rozwiązania architektoniczne, zaproponowane przez zespół P&P Microsoftu. Architekci i programiści wiedzą, że przejście z dowolnego kodu do takiego, który sensownie wprowadza pewne wzorce projektowe nie jest proste i nie istnieje tutaj żaden algorytm realizowalny programowo. Nie jest jednak aż tak źle – zwolennicy metodologii określanych mianem agile ‘zwinnych’ są zaznajomieni z pojęciem ‘refaktoryzacja’, wprowadzonym do informatyki przez Martina Fowlera. Dzięki małym (oraz większym) refaktoryzacjom można bardzo często poprawić jakość i czytelność kodu, sprawiając, że dalsze utrzymanie kodu jest prostsze i przyjemniejsze.

Refaktoryzacja doczekała się wielu publikacji – żeby wymienić tylko kilka (przetłumaczonych na język polski):

  1. „Refaktoryzacja. Ulepszanie struktury istniejącego kodu”, opierająca się w dużej mierze na wzorcach GoF:
    „Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku”
  2.  „Refaktoryzacja do wzorców projektowych”, sięgająca często do „Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe”

Refaktoryzacja ma również swój serwis internetowy, prowadzony przez Martina Fowlera. Doczekała się również silnego wsparcia software’owe – zarówno w samym Visual Studio, jak i w narzędziach firm trzecich (Resharper, CodeIt.Once, etc.).

Teksty przygotowane przez nas traktują o sposobach wprowadzenia bloków Enterprise Library do naszego kodu. Często są to notatki, wskazówki, nie mają charakteru ścisłego i sformalizowanego. Wydaje mi się jednak, że są wystarczającym źródłem informacji, pozwalającym na ujarzmienie Enterprise Library i mogą stanowić zachętę do jego wykorzystania. Staraliśmy się trzymać jak najbliżej podejścia zaproponowanego przez Fowlera we wspomnianej wcześniej książce o refaktoryzacji.

Reguły

Do rzeczy :) Nie jestem formalistą, przyjęliśmy jednak kilka reguł, które warto znać:

  1. W przyszłym tygodniu (co najmniej tydzień po tej publikacji) pojawi się pierwszy tekst opisujący kroki refaktoryzacyjne pierwszego z wybranych przez nas bloków z Enterprise Library 3.1.
  2. Po każdym z tekstów refaktoryzacyjnych pojawi się pytanie konkursowe, na rozwiązanie którego będzie tydzień. Staraliśmy się, żeby wykonanie każdego z zadań po przeczytaniu tekstu zawierającego kroki refaktoryzacyjne, zajęło maksymalnie 2-3 godziny ‘sezonowemu programiście’, więc tydzień jest w naszym odczuciu wystarczający na znalezienie wolnego czasu i przeprowadzenie samodzielnej refaktoryzacji na dostarczonym przez nas kodzie.
  3. Kolejne teksty będą pojawiały się w odstępach co najmniej tygodniowych, na blogach różnych autorów, oczywiście w ramach serwisu zine.net.pl.
  4. Zadanie konkursowe będzie dotyczyło aplikacji, do źródeł której link pojawi się przy każdym pytaniu konkursowym.
  5. Odpowiedzi konkursowe – kompilowalny kod wynikowy po refaktoryzacji + opis wykonywanych czynności należy nadsyłać na maila: mgrzeg At gmail kropa com. Niech to będzie zip zawierający katalogi Code z kodem i Doc z opisem w formacie .txt, .rtf, lub .doc. Można również dołączyć katalog Bin zawierający kod wykonywalny.
  6. Oceną prac zajmują się: Michał Grzegorzewski, Wojtek Gębczyk, Arek Waśniewski oraz Bartek Legiędź. Nie wykluczam dodatkowych osób :)
  7. Z nadesłanych odpowiedzi wybieramy jedną, wylosowaną spośród poprawnych, którą nagradzamy jedną książką, wybraną przez nas. Wybaczcie, ale nie będę zatrudniał żadnego prawnika potwierdzającego zgodność losowania z ustaleniami :)
  8. Osoba, która podeśle jako pierwsza poprawne rozwiązanie, będzie miała większe szanse na wygranie nagrody – jej dane pojawią się dwukrotnie w maszynie losującej :)
  9. Dana osoba może wygrać tylko jeden etap konkursowy. Oczywiście zachęcam do nadsyłania prac po wygranej – w końcu to zabawa i możemy zweryfikować, czy rozwiązanie jest ok.
  10. Lista nagród przeznaczonych na cały konkurs:
     
     
  11. W przypadku bardzo małej liczby odpowiedzi, lub innych przypadków, ciężkich w tej chwili do przewidzenia, zastrzegam sobie możliwość anulowania konkursu. :( Nagrody przewędrują wówczas na inny konkurs, być może atrakcyjniejszy :). Mamy jeszcze kilka pomysłów w zanadrzu… :)
  12. W konkursie może brać udział każdy, za wyjątkiem jego twórców i sponsorów.

Od czego zacząć?

Na początek sugeruję zapoznać się z samym Enterprise Library w wersji 3.1.

  1. Download Enterprise Library 3.1 (May 2007)
  2. Ważne i ciekawe strony:
  3. Czekać na kolejne teksty :)

To chyba wszystko. W przypadku uwag zachęcam do komentarzy.

Opublikowane 14 września 2007 14:14 przez mgrzeg

Powiadamianie o komentarzach

Jeżeli chciałbyś otrzymywać email gdy ta wypowiedź zostanie zaktualizowana, to zarejestruj się tutaj

Subskrybuj komentarze za pomocą RSS

Komentarze:

 

Tarciu said:

O proszę, bardzo ciekawa formuła konkursu :)

Najciekawsze dla mnie będzie połączenie Enterprise Library z przemyślanym (jak mniemam ;) ) sposobem wprowadzania go do już istniejącego projektu.

Przerabianie kodu (vel refaktoryzacja ;) ) to temat którym się dotąd nie zajmowałem w jakiś bardziej zorganizowany sposób, tym większa więc moja radość :)

P.S.

Możesz zdradzić, kto jest tym przyjacielem serwisu?

września 15, 2007 14:45
 

mgrzeg said:

"Możesz zdradzić, kto jest tym przyjacielem serwisu?"

Tak :) Jest nim Stefan Turalski vel Stic. Dzieki Jego wsparciu w konkursie sa nagrody. Jeszcze raz dzieki, Stic!!!

września 15, 2007 19:00
 

RockY said:

Fajnie, gratuluje pomysłu na konkurs :-)

Fakt: w ciągu tygodnia każdy znajdzie chwilę na próbę rozwiązania problemu. A nagrody: całkiem, całkiem fajne!

Pozdrawiam jeszcze raz!

Dariusz RockY Tarczyński

września 16, 2007 13:03
 

DZaK said:

Ja chetnie sprobuje, choc duzej wiedzy nie mam o tym :)

a gdzie beda te artykuly? na blogu? zebym nic nie przegapil :)

września 21, 2007 13:09
 

nuwanda said:

Tak jak pisał Michał, artykuły i pytania konkursowe będą się pojawiały w ramach zine.net.pl ale na blogach różnych osób. Możesz użyć kanału rss, aby być na bieżąco (http://zine.net.pl/blogs/MainFeed.aspx), albo zaglądać na stronę z najnowszymi wpisami na blogach (http://zine.net.pl/blogs/default.aspx).

września 21, 2007 13:32
 

mgrzeg.net - Admin on Rails :) said:

Trzeci tekst cyklu konkursowego poświęconego Enterprise Library 3.x. Tym razem skupiamy się na Validation Application Block.

października 8, 2007 15:01
 

ugg said:

Life must be lived as we go along. Then the station will come soon enough.

października 14, 2010 09:49

Co o tym myślisz?

(wymagane) 
(opcjonalne)
(wymagane) 

  
Wprowadź kod: (wymagane)
Wyślij

Subskrypcje

W oparciu o Community Server (Personal Edition), Telligent Systems