Newsgroup: it.lavoro.professioni.webmaster
Titolo: leggibilità del codice

Vabbè che adesssono di moda i css, ma a me sembra che si stia esagerando.
Sto cercando di fare un menu 'orizzontale', usando i tags html  <ul> e 
<li>. Perchè mi sembrava più elegante.
L'avevo già visto fare. I consigli che mi sono venuti dal NG di HTML è 
quello di usare i css.
Poi, dagli esempi in rete (sul libro che ho sui CSS non è detto niente 
al riguardo) mi sono reso conto che la faccenda è più 'elaborata' (per 
usare un eufemismo e non dire 'alla membro di segugio') di quello che 
pensavo.
Insomma bisogna fare più salti mortali.
Ma allora, dal punto di vista della leggibilità, non è meglio usare una 
tabole coi suoi <tr> e <td>  ?? Oppure semplicemente scrivere un testo 
spaziandolo con due o tre  &nbsp; ?? Il tutto sarebbe più 'leggibile' 
per qulli che poi sul codice dovranno lavorarci (incluso me stesso).
Io vado pazzo per il codice minimo, in modo da fare tutto colla quantità 
minima di codice. Odio i romanzi css/html lunghi dieci pagine magari per 
fare una cosa cretina, come quella di far apparire orizzontalmente una 
lista <ul>e <li>.
Per quello che preferisco perfino usare il php anche solo per inserire 
pezzi di html in una pagina html, senza sbattermi troppo con IFRAME, o 
espedienti css coi <div> etc.
(a proposito, un 'include' col php, è considerata una tecnica 
server-side-include ?)

 espedienti css coi <div> etc.
No.
Perdona la risposta lapidaria, a mio modo di vedere non hai capito nulla 
di css. La parola chiave è "separazione".

 server-side-include ?)
Evidentemente sì: PHP gira sul server, lato client arriva comunque un HTML.


Vabbè però ammettilo : i CSS sono 'verbosissimi'. Talvolta oltre il 
limite della (mia) sopportazione.
(aspetto con ansia i robot della nuova generazione, che generano CSS dal 
pensiero...)


mi interesserebbe davvero saperne il motivo : perchè sono così snobbate 
le tabelle, quando fino a poco tempo fa il codice 'creato' conteneva 
tante tabelle e ora invece contiene una immensità di <div> e <ul> e <li> 
che perfino si 'incrociano' e se per caso ti azzardi a togliere un <div> 
a mano, ti ritrovi a fare dei 'buchi' nella pagina, come se fosse un 
puzzle e non ti ci raccapezzi più ...
Non so in sostanza quale sia peggiore dal punto di vista della 
'leggibilità' esterna.
Fatto è che scaricare il source da una pagina  'smanettarla a mano per 
imparare' non ne vale più la pena. Si  impara meglio a fare un corso di 
css. Però costa.

 dovranno lavorarci (incluso me stesso).
Mi sfugge dove un codice come
<table border="0" cellspacing="0" cellpadding="0" width="100%">
 <tr>
  <td width="300">
   <a href="#">
    Link 1
   </a>
  </td>
  <td width="300">
   <a href="#">
    Link 2
   </a>
  </td>
 </tr>
</table>
sia piu` leggibile e modificabile di
<ul class="menu">
 <li>
  <a href="#">
   Link 1
  </a>
 </li>
 <li>
  <a href="#">
   Link 2
  </a>
 </li>
</ul>
E questo senza infilarci dentro i vari <font> che normalmente si usavano 
per simulare i css, o le <img> col javascript per fare i bottoni "in 
grafica" e col rollover.
Il concetto e` che chi deve lavorare sul codice HTML dovrebbe 
(teoricamente, perche` non sempre e` possibile) fregarsene dei css e in 
generale di come appare la pagina.
"Chi lavora sull'html" non e` necessariamente una persona, ma per esempio 
puo` essere un framework che ha una funzione tipo (PHP):
creaMenu(array('Link 1'=>'#', 'Link 2'=>'#"), array('class'=>'menu'));
Che crea facilmente il secondo tipo, con possibilita` di stilizzarla coi 
css, mentre sara` impossibile che crei la tabella del primo esempio senza 
css (ma allora tanto vale usare i css e le li, cosi` guadagni anche in 
semantica).
Cosi` magari un domani che vuoi che il menu sia largo il 50% e non il 
100% non devi cambiare la funzione che lo crea (rischiando di rompere 
altri menu creati in altri posti del sito con la stessa funzione), ma 
solo un parametro nel css.
Bye.

 Si impara meglio a fare un corso di css. Però costa.
Dipende: io faccio dei corsi tramite un comune qui in zona (PD) e il 
prezzo è sempre sotto i 50 (per 16-20 ore). Se cerchi anche nella tua 
zona sicuramente troverai qualcosa, almeno per "rompere il ghiaccio".

 Vabbè però ammettilo : i CSS sono 'verbosissimi'.
Oddio, non mi sembra proprio! :-)
E' una semantica semplicissima:
elemento{attributo1:valore1;[attributoN:valoreN]}
Più il commento /* */ ;-)

 di css. La parola chiave è "separazione".
Io probabilmente non avrò capito nulla del CSS, ma senzaltro il 
'disegnatore della sintassi' del CSS avrebbe potuto fare un lavoro 
migliore pensando più all'end-user che a colui che deve scrivere 
l'interpreter.
Sintassi come questa :
background : #FFF url(sfondo.2col.fisso.gif) left top repeat-y;
è semplicemente mostruosa.
Allora, giá che ci siamo, per l'impaginazione, non si poteva magari 
eliminare completamente i CSS e usare semplicemente l' xml ?
Intanto oggi non si muove foglia senza che c'entri un xml da qualche parte.
Almeno si impara uno standard e vai con quello.

 
Decisamente devo farmi un corso css. Ci sono troppi 'lati oscuri' per me 
(leggi : cose che si possono fare e che non immagino nemmeno).
Mi rimane però la curiosità di come tutto questo non si possa fare con 
un xml che è filosoficamente il 'padre' di tutti i markup language.

 oggi non si muove foglia senza che c'entri un xml da qualche parte.
XML ha un suo sistema di stili (XSL), che non e` che sia molto piu` 
semplice, anzi. E comunque va separato dall'XML, esattamente come HTML e 
CSS. Anzi, di piu`.
E a dire il vero sta un po' invecchiando, come standard. O almeno non e` 
piu` sulla cresta dell'onda.
HTML5 l'ha abbandonato e per Ajax si usa piu` spesso JSON che XML.
I webservice lo usano ancora ma tendono a usare formati piu` snelli.
Onestamente non capisco la tua riluttanza a studiare e capire i css. Sono 
una delle cose migliori capitate al web negli ultimi 10 anni.
Se ti secca studiare, sappi che secondo me in informatica se non impari 
ALMENO una tecnologia nuova all'anno rimani troppo indietro e diventi tu 
stesso obsoleto.
Bye.

 un xml che è filosoficamente il 'padre' di tutti i markup language.
Perche` nemmeno con XML si puo` fare, essendo appunto "markup" e non 
"layout" (o "style") language.
Bye.


Hai ragione. Ma dato che come informatico sono già obsoleto da molto 
tempo (la mia laurea quadriennale in informatica è del 1991) :-))
ora sono motivato molto di più a studiare la fisiologia umana : è 
rimasta immutata da millenni eppure si scoprono sempre cose nuove.
E' semplicemente affascinante.
L'Html e i css li uso solo per divertirmi e far divertire altri esseri 
umani. (importantissimo anche quello) :-)))
Almeno non ho lo stress di prepararmi in anticipo alle novitá che 
arriveranno l'anno prossimo.  :-))

 
Ma allora diciamolo : l'HTML quando è nato ha 'usurpato' in qualche modo 
compiti che sono propriamente di 'impaginazione.
Perchè le 'tables' i 'frames' sono tipici compiti di impaginazione.
Ora che le cose si sono evolute, tutto quello che era 'impaginazione' si 
tenta di cancellarlo dall'html e metterlo nei CSS. In più il CSS si è 
allargato con nuove metodologie.
Adesso ho capito tutto, vero ? :-))

 Adesso ho capito tutto, vero ? :-))
IMO se vuoi capire tutto, o almeno un po', devi lasciar correre alcuni 
preconcetti ed esaminare le cose più in concreto ;-)
Visto che presumo siamo circa coetanei posso capire i tuoi dubbi ma 
pensa solo a com'era il web a metà anni '90 e com'è oggi:
c'erano di fatto 2-3 browser, uno dei quali pieno di tag proprietari, su 
4-5 S.O. che giravano su HW sostanzialmente molto simile (se non 
identico). Per non parlare della banda...
Ora ci sono una cinquantina di browser che girano su piattaforme HW 
molto diverse e la disponibilità di banda ha cambiato profondamente la 
concezione di un "sito" web.

 Adesso ho capito tutto, vero ? :-))
Si`, direi di si`. :)
Bye.

 'posizione' delle cose
Mah, ho in mente certi pezzi di codice presi da pagine web in rete che 
fanno uso di table e che sono assolutamente illeggibili.

 server-side-include ?)
No, SSI è un linguaggio a parte.

 Insomma bisogna fare pi salti mortali.
[cut]
Come già altri ti hanno spiegato, non è così.
Per capire meglio dove sbagli, dovresti postare un esempio pratico di
menù che ti ha procurato difficoltà.
ciao
Gabriele

 Gabriele
Nel frattempo ho capito un po' meglio la meccanica. Resta il fatto però 
che 'descrivere in CSS esattamente quello che vuoi fare' è molto piú 
lungo (si scrivono molte piú linee e concetti) che nel semplice stile HTML.
Se si poensa solamente che 'anticamente' impaginanzione e composizione 
erano fatti esclusivamente dal HTML. Ora si accentua la separazione tra 
HTML e CSS laddove i CSS servono per la impaginazione. Sono due cose 
diverse che contribuiscono in egual misura al prodotto finale.
Insomma prima avevi un HTML tuttofare. Ora ti devi sbattere a 
'disabituarti' alle vecchie abitudini 'sbagliate' imposte dal HTML e 
aggiornarti con i nuovi concetti CSS.
Come dicevo. Una rottura. Senzaltro ne varrá la pena, ma all'inizio, 
sempre rottura è, per impararli a dovere.

 sempre rottura è, per impararli a dovere.
Vedi tu se sia più una rottura scrivere 30 volte 
style="font-family:arial,sans-serif;color:#36c;" (esempio a caso) per 
ogni tag 'p' o se non sia meglio scrivere 3 righe nel CSS.
Poi nessuno vieta di usare la prima soluzione, sia chiaro.


Naturalmente si. 


Falso, i css sembrano un mondo a se, ma in realtà non lo sono. Alla vecchia 
maniera dentro style="" scrivevi le istruzioni che definivano lo stile 
associato al tag; queste istruzioni si trasportano perfettamente nei css 
senza alcuna variazione; ecco un esempio:
VECCHIA MANIERA:
------------------------------
HTML:
<p style="color: #ffffff"> testo </p>
NUOVA MANIERA:
------------------------------
HTML:
<p class="pippo"> testo </p>
CSS:
.pippo { color: #ffffff; }
Come vedi la differenza è poca.
www.blueware.it
 


Lo standard di fatto è uno solo; il problema è che è stato introdotto dopo; 
per cui esistono diversi dialetti del medesimo linguaggio; uno di questi 
dialetti è il codice scritto alla vecchia maniera.
www.blueware.it
 

 
ho letto con attenzione i tuoi tre posts. Infatti, piano piano mi sto 
'convertendo' alla nuova moda e sempre poco a poco comincio ad 
apprezzarne anche i vantaggi.
Come tutte le cose, dopo che uno si abitua a 'cambiare abitudini', e 
comincia a masticare le nuove idee, il tutto diventa più facile.
Il fatto è che i cambiamenti nel web engineering (HTML, CSS) non sono 
avvenuti di botto, bensi, subdolamente, e gli 'hobbysti' (cioè coloro 
che col web design non devono mantenerci la famiglia) per cui anche a 
differenza di solo un anno, ci si imbatte con delle tecniche che ora 
sono diventate 'standard' mentre alcuni anni fa non le vedevi mai applicate.
Nel frattempo sto ridisegnando un nuovo sito eliminando tuttii tables 
con <div> (facendo attenzione a non esagerare, come consigliato nelle 
varie pagine di tutorial css in rete) e mi sto divertendo, devo dire.
Certo, all'inizio sembrava più facie crear del <table> ovunque, per 
impaginare un contenuto. Ora invece si raccomanda di usare i table solo 
per le *tabelle* vere e proprie.
Basta abituarcisi.
Speriamo che la prossima 'rivoluzione' nell'imaginazione web non avvenga 
primo che abbia 'digerito' completamente i css..... :-)
ciao.
john.