MVC + Razor Generator

Dzisiaj krótki wpis, ale wydaje mi się, że wart uwagi. W zeszłym tygodniu po raz pierwszy miałem do czynienia z dodatkiem do VS 2012 – Razor Generator. I mówiąc szczerze – jestem bardzo pozytywnie zaskoczony. W wielkim skrócie jest to rozszerzenie umożliwiające kompilowanie plików .cshtml. W praktyce wygląda to w ten sposób, że pod widokiem znajduje się klasa o nazwie Widok.generated.cs. Przy każdej zmianie w widoku, następuje automatyczna zmiana w kodzie tej klasy, przez co nie jesteśmy narażeni na przypadkowe zmiany w widoku, często trudne do wykrycia. Użycie tego rozszerzenia sprawdzi się na pewno w dużych projektach, w których macie mnóśtwo widoków. Jeśli chodzi o mniejsze projekty – to już osobista decyzja.

Link do rozszerzenia: http://visualstudiogallery.msdn.microsoft.com/1f6ec6ff-e89b-4c47-8e79-d2d68df894ec

Instalacja odbywa się w normalny sposób poprzez extension manager’a.

3 uwagi do wpisu “MVC + Razor Generator

  1. Czy mógłbyś wyjaśnić myśl „przez co nie jesteśmy narażeni na przypadkowe zmiany w widoku”?? Chodzi ci o przypadkową modyfikację kodu Razor w środowisku produkcyjnym? Czy po zastosowaniu Razor Generator usuwacie w procesie deploymentu (czy też przed) pliki cshtml i aplikacja korzysta już tylko ze skompilowanych widoków?

    pozdrawiam

    1. Chodzi bardziej o to, że często występuje sytuacja, w której przez przypadek zmienisz coś w .cshtml. Dodasz jakiś ciąg znaków typu „asdsjfasjfksa”, poprzestawiasz przypadkowo kod. Jeśli projekt jest duży, to nawet się tego nie zauważy, a kompilator Ci nic na temat tego „błędu” nie powie (o błędzie dowiesz się podczas runtime’u). Inaczej ma się sprawa, gdy używasz Razor Generator, ponieważ pod spodem leży klasa, która gdy zmienisz cokolwiek w widoku, zmienia się automatycznie. Jeśli coś się po prostu nie zgadza, kompilator Ci to wypluje. Kolejna rzecz – unikasz tzw. runtime hit (.cshtml bez RG), ponieważ widoki są prekompilowane przed runtime’m. Kolejny plus to łatwe testowanie (tak, testowanie :)) widoków.

Zostaw komentarz

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Connecting to %s