Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

[I] Riktlinjer för HP-kod

Skapad av Johan, 2008-04-19 15:27 i Datorer & IT

1 422
7 inlägg
1 poäng
Johan
Visningsbild
P 36 Göteborg Grundare 523 inlägg
1
De här reglerna gäller, även om inte all kod följer dessa så ska all ny kod göra detta!
Reglerna finns inte för att de är bättre än andra vanor, utan för att det ska vara enhetligt. Vi som gör Hamsterpaj trivs med denna standard och följer den, även om du är van att koda annorlunda så måste all kod som ska in i HP följa denna standard.


* Vi använder endast enkla citattecken ( ' ) i php och javascript, i HTML använder vi dubbla ( " )

* Vi separerar alltid strängar, radbrytningar och variabler: $out .= 'Tjena ' . $name . '<br />' . "\n";

* Funktioner returnerar, de skriver inte till output-bufferten (inget echo med andra ord)

* Funktionsnamn skrivs med små bokstäver och med understreck mellan orden, fundtionens "område" skrivs först, exempelvis: photos_list() och inte list_photos()

* SQL-frågor ställs såhär:
$query = 'SELECT * FROM table';
$result = mysql_query($query) or report_sql_error($query, __FILE__, __LINE__);
while($data = mysql_fetch_assoc($result))
Vi använder inte mysql_fetch_array, fetch_row eller liknande. Bara assoc.

* All kod skrivs och kommenteras på engelska

* Funktioner som kan ta fler än ett argument skall ta en optionsarray, exempel:
$options['limit'] = 5;
$options['author'] = 13;
$options['mode'] = 'light';
$entries = entries_fetch($options);

* Indentering görs med tabbar, inte mellanslag

* Vi kommenterar bara där det behövs, i övrigt ska koden skrivas lättläst

* Konstruerar vi långa SQL-frågor med flera rader kod så ska mellanslag, kommatecken och liknande alltid placeras först på nästföljande rad, inte sist på föregående.

* Vi copy-pastar så gott som aldrig kod, och gör vi det skall den formateras för att följa vår standard.

* I while, if, switch, foreach, for- och liknande satser placeras måsvingen alltid på ny rad.

* Inställningar läggs i en separat php-fil med ändelsen .conf.php och läggs i include/configs/, dessa laddas automatiskt

* Funktionsbibliotek läggs i include/libraries/, har ändelsen .lib.php och laddas manuellt.

* CSS-filer läggs endast i stylesheets/, javascripts i javacripts/

* Vi använder css-klasser och ID, vi skriver bara inline-styles i undantagsfall

* Javascript ska så långt som möjligt hakas på i efterhand av javascript-filen, undvik inline javascripts.

* window.onload får ej användas, används istället womAdd('my_function()');

* Alla bilder placeras på images.hamsterpaj.net som nås under /mnt/images/

* Se upp för SQL-frågor inuti loopar, använd hellre joins och kör en tung fråga än att köra en loop och 25 frågor på samma sida.

Tillägg av Joel 2008-04-19 15:35

* Vi kör inte några COUNT(*) i onödan, om man inte kan räkna med mysql_num_rows(). Inte heller några beräkningar ska göras av MySQL, om de kan utföras av PHP.

* Alla sökvägar MÅSTE utgå ifrån rooten (/). Vi skriver alltså /traffa/profile.php även om vi befinner oss i /traffa/guestbook.php - inte guestbook.php. ../diskussionsforum/index.php är inte heller okej.



Tillägg av Joar 2008-08-12 02:49

"* Alla sökvägar MÅSTE utgå ifrån rooten (/). Vi skriver alltså /traffa/profile.php även om vi befinner oss i /traffa/guestbook.php - inte guestbook.php. ../diskussionsforum/index.php är inte heller okej."

- Alla sökvägar förutom /storage/www/www.hamsterpaj.net/data/include/core/common.php. som ska inkluderas i varje fil på det här sättet om vi antar att du berfinner dig i diskussionsforumet:
Ett stycke php-kod:
require_once('../include/core/common.php');

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Johan
Visningsbild
P 36 Göteborg Grundare 523 inlägg
Trådskapare
0
Svar till wally_91 [Gå till post]:
All indata escapas och får automatiskt htmlspecialchars().
Om du behöver tillåta användare att skicka in HTML så måste du köra en html_entity_decode().



Forum » Datorer & IT » [I] Riktlinjer för HP-kod

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons