God programeringsskikk?

goran298
goran298s bilde
Avlogget
BidragsyterDonator
Ble med: 31.03.2010

Man hører/leser rett som det er hva som er god programeringsskikk.

Jeg sitter igjen med det inntrykket at dette er opp til den som koder å bestemme, eller retteresakt at man finner sin stil.

Det jeg lurer på når det gjelder dette temaet er om det finnes "skikk og bruk" eller noe i den duren om hva man kaller ting for enten i php, html og css?

F.eks. <div id="et_eller_annet_her">, $en_variabel eller #noe_i_css.

ThomasK
ThomasKs bilde
Avlogget
Donator
Ble med: 30.12.2009
?

skjønner ikke helt hva du mener eller vil frem til.

med hilsen
Thomas Kile

goran298
goran298s bilde
Avlogget
BidragsyterDonator
Ble med: 31.03.2010
jo altså

jo altså en gang i tiden mener jeg at jeg leste mye om dette når jeg skulle lære meg html.

<div> </div> disse skulle da f.eks stå på hver linje og da det som kommer i mellom disse taggene skulle ha et tab. innrykk slik at koden ble enklere å les....

Dette har jeg forstådt at også gjelder i php.... men det som jeg da lurer på er om det finnes en "gylden regel"  eller noe sånt om hva man kaller f.eks variabler eller når man skal navngi noe i html som man da finner igjen i css.

vet ikke helt hvordan jeg skal forklare dette men om du har en <div id="et_navn"> der; et_navn er det jeg er ute etter denne vil du jo da kunne gi en del spesifikasjoner i css slik at du kan style denne slik man vil... finnes det da noen "rettningslinjer" som sier noe om hva mna bør kalle disse id="et_navn" slik at det er enkelt for andre som leser koden?

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Navngivning av elementer

God navngivningsskikk for elementer i HTML og CSS

Ja, her finnes det en uskreven regel for god programmeringsskikk, og den er: Navngi elementer etter hva de er, ikke hvordan de ser ut, eller hvor de plasseres. Skal innrømme at jeg ikke alltid følger dette selv, men det er slik det bør gjøres.

Her er et eksempel.

Si du skal ha en header, meny på venstre side og ved siden av vil du plassere selve innholdet. La oss si du skal plassere ting i tre divisjoner, slik;

<div id="header">
  ...
</div>
<div id="left-navigation">
  ...
</div>
<div id="right-content">
  ...
</div>

Du koder det med disse IDene og refererer til dem i CSS-filen din. Etter intenst arbeid er du ferdig og fornøyd.

Tre måneder etter ønsker du å flytte menyen fra venstre til høyre side. Legg nå merke til at divisjonen som inneholder menyen heter left-navigation, mens denne nå skal plasseres på høyre side.

Altså er det bedre om du kaller den primary-nav, navigation eller liknende. Altså noe som beskriver hva divisjonen inneholder/representerer, og ikke hvor den er plassert.

Dette går selvfølgelig også for header som gjerne er en wrapper for logo. Om man senere skal flytte logoen til et annet sted ved hjelp av CSS så vil kanskje ikke headeren være en header lenger.

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Indentering av kode i HTML og CSS

Indentering av kode i HTML og CSS

Når det gjelder indentering av kode så er god praksis at koden er så leselig som mulig. Selv bruker jeg én indentering for alle nøstede blokkelementer. Men ingen regel uten unntak. Målet er at kildekoden er så lesbar som mulig.

div, ul, ol, li, blockquote og p er alle ekesmpler på blokkelementer, mens f.eks. a og span ikke er det. Så hvis du skal lage ei uordnet liste nøsted i en divisjon, så gjør man det gjerne slik;

<div>
  <ul>
    <li><a href="#">listeelement #1</a></li>
    <li><a href="#">listeelement #2</a></li>
    <li><a href="#">listeelement #3</a></li>
  </ul>
</div>

Merk at

  • er et blokkelement, men likevel ikke gis ny linje. Dette er ett av unntakene jeg ofte gjør fordi jeg synes det gjør koden mindre lesbar.

     

    Videre kan du bruke kommentering i HTML slik

    <!-- En navigasjonsliste -->
    <div>
      <ul>
        <li><a href="#">listeelement #1</a></li>
        <li><a href="#">listeelement #2</a></li>
        <li><a href="#">listeelement #3</a></li>
      </ul>
    </div>

    Når det gjelder indentering av kode i CSS, så bruker man gjerne å gjøre det slik;

    div#element-id {
      font-weight: bold;
      text-decoration: underline;
    }

    Dog skal det sies at man ofte bruker en minifier for å gjøre CSS-dokumentet mindre. En minifier omformaterer koden til å bruke lite whitespace samt. andre grep. Dermed vil nettsiden lastes noe fortere den første gangen (siden størrelsen på CSS-filen(e) blir mindre ved å minifisere dem.

ThomasK
ThomasKs bilde
Avlogget
Donator
Ble med: 30.12.2009
neida, vil ikke si at det er

neida, vil ikke si at det er noen gyllen regel. Men det er riktig det at det er tiltak man kan gjøre for at det skal bli lettere leslig.

#1 - Kommentering.

HTML = <!--  kommentert tekst  -->

PHP = // eller ## kommentert tekt på en linje, /* kommentert tekst over flere linjer */

 

#2 - Beskrivende

Navnene du gir til ID, CLASS eller variabler (PHP) bør være beskrivende.

eks. menu_container, page_content

 

#3 - Luft i scriptet

Det blir fort mye lettere om man gir litt luft mellom naturlige seksjoner.

Det om <div>'s skal være som du beskriver er lurt når det er snakk om flere linjer. Er det snakk om en liten linje, så er det like greit å ha det på en linje.

<div id="name_content">

    <p>En linjes innhold eller ren tekst</p>

</div>

<!--  eller  -->

<div id="name_content"><p>En linjes innhold eller ren tekst</p></div>

 

 

<div id="name_content">

    <p>Her kommer en liste</p>

    <ul>

        <li>punkt 1</li>

        <li>punkt 2</li>

    </ul>

</div>

<!--  eller  -->

<div id="name_content"><p>Her kommer en liste</p><ul><li>punkt1</li><li>punkt2</li><ul></div>

 

Tegn bruker bytes, så er lurt å korte ned beskrivelse/kommentarer, linjer etc. om du tenker på plassbehov...

med hilsen
Thomas Kile

Vendetta
Vendettas bilde
Avlogget
Ble med: 25.12.2009
sånn som det med og sette

sånn som det med og sette start og avslutt på vær sin linje og alt sånn er jo egentlig helt opp til hvordan han som lager det synes er best. Noen synes det er best og lese ting på vær linje og koder inni satt litt lenger en start og avslutt tagen.  Og sånn som og få koden lett til og lese for andre er ikke så lett. Lettest og lese kodene man har laget selv.  og det med "rettningslinjer" som sier hva man burde kalle id'n er jeg ikke helt sikker på.

 

Men er jo letest og lese de kodene man skriver selv

 
 

goran298
goran298s bilde
Avlogget
BidragsyterDonator
Ble med: 31.03.2010
takker

takker :)

da har jeg fått meg med noe

Vendetta
Vendettas bilde
Avlogget
Ble med: 25.12.2009
ThomasK sit svar er bedre en

ThomasK sit svar er bedre en mit :P men er ikke så flink til og ha det ryddig i scripte mitt :P Selv om det blir bedre en det som var før.

 
 

ThomasK
ThomasKs bilde
Avlogget
Donator
Ble med: 30.12.2009
ett script eksempel

eksempel på ett php. script som jeg har satt opp her. (ryddig etter min mening da):

<?php

####  LOGIN FUNKSJONER  ####

 

function check_login ($username, $password)

{

    if (!valid_un($username) || !valid_pw($password) || !exists($username))

    {

        return false;

    }

 

    $query = sprintf

    ('

        SELECT * FROM usr_tbl

            WHERE un_fld = \'%s\'  AND  pw_fld = PASSWORD(\'%s\')',

        mysql_real_escape_string($username),  mysql_real_escape_string($password)

    );

 

    $result = mysql_query($query);

 

        if (mysql_num_rows($result) != 1)

        {

            return false;

        }

 

        else

        {

            $get = mysql_fetch_assoc($result);

            $_SESSION['user'] = $get['un_fld'];

            return true;

        }

 

return false;

}

?>

med hilsen
Thomas Kile

Svar på forumemnet

(If you're a human, don't change the following field)
Your first name.
Innholdet i dette feltet blir holdt privat og vil ikke bli vist offentlig.