Csak összedobom, összehúzom és kész. Kész?

Gyakran lehet olyasmit hallani, hogy a Visual Studioban csak létrehozunk egy új projektet, feldobáljuk az oldalra a vezérlőket és máris kész a webalkalmazásunk és úgy jó, ahogy van, mert a Studio, na az aztán király.

Íme egy rövid lista arról, hogy mit érdemes ellenőriznünk, mielőtt az újonnan létrehozott oldalunkat checkinelnénk:

  1. Forráskód
    1. Az oldalak forráskódja követi a fejlesztőcsoport által meghatározott struktúrát (pl. a megadott egyedi sablon alapján jött létre, minden using #region-ben stb.).
    2. A forráskód a fejlesztőcsoportban használt egységes formázási beállításokat követi (pl. tabulátorok, szóközök). Ha nem így lenne, javítható a Ctrl+A, CTRL+K, CTRL+D végignyomkodásával. A beállítások a VS Tools > Import and Export Settings varázslójával átvihetők egyik gépről a másikra.
    3. A forráskód kommenteket tartalmaz a fejlesztőcsoport által elfogadott formában (pl. angolul vagy magyarul). Minden osztály, metódus és tulajdonság előtt szerepel XML komment.
    4. A code behind nem tartalmaz olyan kódot, amit markupban egyszerűbben le lehet írni, például expressionökkel.
    5. A markup nem tartalmaz olyan kódot, ami az oldal logikai működését befolyásolja, annak a code behindban a helye.
    6. A kód nem tartalmaz olyan bedrótozott értékeket, amiknek konfigurációs állományban a helyük.
    7. A változók és vezérlők értelmesen el vannak nevezve.
    8. ViewState lehetőleg oldal szinten ki van kapcsolva.
    9. Session state lehetőleg oldal szinten ki van kapcsolva vagy legalább read only.
  2. Fordítás
    1. Az egész alkalmazás lefordul, nem csak az adott oldal.
    2. A fordító nem jelez sem Error, sem Warning hibát.
    3. A VS Code Analysis (FxCop) funkciója nem jelez hibát, vagy minden figyelmeztetés ellenőrzése és kezelése megtörtént a Suppress Message funkció segítségével.
  3. Futtatás
    1. Futtatás során nem keletkezik kezeletlen kivétel.
  4. Akadálymentesség
    1. Minden img elem tartalmaz alt attribútumot, ami lehetőség szerint ki van töltve – VS aláhúzza. Firefox esetén a title attribútumot is célszerű kitölteni.
    2. Minden Image kontrollnál meg van adva az AlternateText tulajdonság értéke vagy GenerateEmptyAlternateText=true.
    3. Űrlapok esetén a Label vezérlők AssociatedControlID tulajdonsága ki van töltve.
    4. Hosszabb űrlapok fieldsetek segítségével rövidebb részekre vannak tördelve, például így:
    5. <fieldset>
          <legend>Kapcsolat</legend>
          <asp:Label ID="lblName" runat="server" AssociatedControlID="txtName" Text="Név:" />
          <asp:TextBox ID="txtName" runat="server" />
      </fieldset>

    6. Nem szokványos elrendezésű űrlap esetén a vezérlők TabIndex tulajdonsága meg van adva.
    7. A vezérlők AccessKey tulajdonsága meg van adva és ez vizuálisan meg is jelenik az oldalon, például így:
    8. <asp:Label ID="lblName" runat="server" AssociatedControlID="txtName" Text="<u>N</u>év:" />
      <asp:TextBox ID="txtName" runat="server" AccessKey="N" />
      <asp:Button ID="btnGo" runat="server" Text="Mehet" AccessKey="M" ToolTip="Elküldi a megadott adatokat (ALT+M)." />

    9. Navigációs vezérlők SkipLinkText tulajdonsága legyen lokalizáltan kitöltve.
    10. Táblázatok esetén a table elem tartalmaz caption elemet és táblázatot generáló vezérlők esetén (Calendar, GridView, FormView, DetailsView) a Caption tulajdonság ki van töltve.
    11. Táblázatok fejléce a thead és th elemekkel van megkülönböztetve.
    12. Táblázatok "sor fejléc oszlopa" a th elemben a scope="col" attribútummal van megkülönböztetve, GridView esetén pedig a UseAccessibleHeader és RowHeaderColumn tulajdonság be van állítva.
    13. Táblázatok helyett div elemekkel történik az oldal elemeinek pozícionálása, a table elemmel csak táblázatot jelenítünk meg. A div elemek logikai sorrendben követik egymást és az oldal CSS nélkül is értelmesen használható.
    14. Az oldal struktúrájának megértését a heading elemek (h1..h6) segítik, címsorok kiemelése ezekkel történik.
    15. Minden gomb és vezérlő esetén meg van adva tooltip, ami értelmes, bővebb magyarázatot tartalmaz.
    16. Az oldal tökéletesen használható képek és CSS nélkül is.
    17. Visual Studio Tools > Check Accessibility nem talál hibát az oldalon.
  5. Szabványok
    1. Érvényes XHTML DOCTYPE tartozzon az oldalhoz – VS sablonok beteszik. Például:
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    3. Az oldal standard részei meglegyenek: html, head, title, body – VS sablonok beteszik.
    4. Az oldal gyökér eleme XHTML névtérre hivatkozzon – VS sablonok beteszik. Például:
    5. <html xmlns="http://www.w3.org/1999/xhtml" >

    6. Minden elem név kisbetűs – VS-ben beállítható, hogy így írja.
    7. Minden attribútum idézőjelek között van – VS így gyártja.
    8. Minden elemhez tartozik záró tag – VS aláhúzza, ha nem jó.
    9. Nincsenek egymást átfedő elemek – VS aláhúzza, ha nem jó.
    10. Nincs minimalizált attribútum, tehát például az alábbi nem jó – VS aláhúzza:
    11. <input type="checkbox" checked />

    12. A name helyett az id attribútum szerepel XHTML 1.0 Strict és 1.1 esetén.
    13. Szkript blokkok CDATA szekcióban vannak, és hogy minden böngésző megegye, még kommentezni is kell ezeket a sorokat, például így:
    14. <script type="text/javascript">
          /* <![CDATA[ */
              
              function DoWork()
              {
                  // TODO
              }
              
          /* ]]> */
      </script>

    15. Az oldal vizuális megjelenésének beállítása CSS stílusokkal történik, lehetőség szerint külső .css fájl segítségével. Az oldal tökéletesen használható CSS nélkül is.
    16. A VS szerint az oldal XHTML szempontból rendben van, azaz nincs Error vagy Warning az Error List ablakban. Ehhez be kell kapcsolni a validálást a Tools > Options > Text Editor > HTML > Validation ablakban – alapértelmezés szerint be van kapcsolva.
  6. Lokalizáció
    1. Az oldalon megjelenő összes felirat (pl. Text, AlternateTextCaption attribútumok stb.) erőforrás fájlból jön.
    2. Az oldalon megjelenő olyan feliratok, amik az alkalmazásban több helyen szerepelnek (pl. Mentés, Mégsem gomb felirata) globális erőforrás fájlból jön.
    3. Minden hibaüzenet erőforrás fájlból jön.
    4. Szövegek összefűzésénél a String.Format paramétereként CultureInfo meg van adva.
    5. Az erőforrás rekordok értelmesen el vannak nevezve (pl. nem Button1Resource).
    6. Lokális erőforrások használatakor a meta:resourcekey értéke lehetőség szerint egyezzen meg a vezérlő id-jával.

Most hirtelen felindulásból "csak" ennyi jutott eszembe. Ezek egy részére figyel a Studio, egy részére tud figyelmeztetni a Studio, a többségére viszont csak a fejlesztő tud figyelni. Számára pedig ez akkor nem lesz kínkeserves feladat, ha beépül a napi rutinba és megszokja, hogy például egy kép beszúrása csak akkor van kész, ha van hozzá alt is, vagy hogy addig nem lehet checkinelni, amíg az XHTML és accessibility ellenőrzéseket le nem futtatja. Az ellenőrzésekhez és a teszteléshez az IE Developer Toolbar szinte nélkülözhetetlen eszköz.

Biztos kifelejtettem sok fontos dolgot. Ha ilyen jutna eszedbe, írd meg légy szíves kommentben! Köszi!

 

Technorati tags: , , , ,

5 thoughts on “Csak összedobom, összehúzom és kész. Kész?

  1. István

    Szia Gyuri!
     
    Ismét jó hallani, hogy nem én vagyok az egyetlen, akit nem varázsol el a fejlesztőeszköz "remek" szolgáltatása, amelyben gyorsan "összedobálom" a programot. Akkor lesz jó a fejlesztőeszköz, ha egyszerűen megtaníthatom majd azokra a dolgokra, amelyekről te is egy jó listát készítettél.
     
    Valami hasonló irányba halad talán a VS, de hogy mikor ér oda…? 

  2. János

    Sziasztok!
     
    Ez egyébként triviálisan visszaköszönő probléma minden korszerű fejlesztőeszköz esetén.
    Az emberek hajlamosak félvállra venni a dolgot és elkényelmesedni benne. Anno pl. ugyanez volt a gond a Delphivel, mindenki félbolond módjára dobálgatta a külső gyártók komponenseit az alkalmazásába, programozni megtanulni és mélyebben utána járni a dolgoknak meg már senki se volt hajlandó. De még a VS esetébe mindig nem lehet panasz a Delphi .NET 2.0 támogatásához képest, ezzel csináljatok egy ASP.NET 2.0 weboldalt: Highlander, szerintem az élettől is elmegy a kedvetek :).

  3. György

    Sziasztok!
     
    Nagyon köszönöm mindenkinek a visszajelzéseket, még kiderül, hogy valaki olvassa, amit írok néha🙂
     
    István, én egyáltalán nem vagyok biztos benne, hogy a VS valaha is elér idáig. Ezek az eszközök mind azt sugallják, hogy szinte bárki képes elkészíteni egy alkalmazást, egy weboldalt, bármit, hiszen az eszköz "minden határon túl" támogatni fog ebben, majdhogynem kitalálja, mit akar a felhasználó. Nem ismerős ez már valahonnan, hogy csináljon bárki szoftvert? Tiszta VB6 dejavu érzésem van….
     
    Vagy nézzük máshonnan, mi fog előbb megtörténni: készül egy fejlesztőeszköz, ami nem csak hogy kitalálja, amit a felhasználó akar (hiszen ez az elsődleges cél), hanem még tökéletes kódot is generál, vagy pedig a futtató környezetek fogják elfogadni a nem tökéletes alkalmazásokat. Az összes nem tökéletes alkalmazást, akármilyen eszközzel is készült. Hiszen milyen jól mennek a böngészők nem jól formázott HTML kóddal, vagy hány alkalmazás kompatibilitási kód lehet az operációs rendszerben? Úgy látom a tolerancia és a kompatibilitás áll nyerésre.
     
    Nem vagyok optimista….

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s