← Back to team overview

sslug-teknik team mailing list archive

Re: layout/data/program

 

On Tue, 20 Jul 2004 20:08:58 +0200
Hans wrote:

  Forinden havde Donald skrevet:
> > Jeg troede dit main(){printf("Hah! Verden, hah!\n");} exempel skulle
> > exemplificere det exemplariske i at skille data og program ad :-?

> Tjoh, men mit eksempel var måske ikke så nemt lige at læse, men det 
> fyldte til gengæld ikke meget. Skal man have sådan noget "wrapper" 
> uden om, så bliver det meget mere komplekst. Det bliver ikke altid 
> nemmere at overskue, så jeg mener at man nok må lave et "trade off".

Jo, dit eksempel var fint, nemt at læse, fordi det er kort. Men
hvis man skriver længere end en linie er læselighed og adskillelse
mellem kode og data det aller første skridt i retning af god kode.

Og du har ret i, at en adskillelse også meget nemt kan blive
vanskelig at forstå. Jeg ved ikke, hvordan man løser det, men der
er jo kommet en del forslag her på listen, det var jeg meget glad
for, for de demonstrerer jo også, hvilke problemer, man så løber
ind i. 

Det er ikke kun den klassiske diskussion om, at man ikke kan
adskille layout og indhold, form og indhold (det smelter sammen,
når vi bevæger os ud over en manual page for ul(1) - programmet.)

CSS er et eksempel på, hvad der sker, når andre end eksperter
forsøger at lave layout efter at have lavet indhold. Jeg vil gerne
have skriveprocessen demokratiseret. Kan CSS være med til det?

http://www.csszengarden.com/


Et bud på den styring, som jeg går ind for, er det system, som vi
fik et link til

htmltmpl-1.22


   The  purpose  of  the  templating engine is to provide web application
   developers,  who  need to separate program code and design (HTML code)
   of  their web application projects, with a templating tool that can be  
   easily  used  by  cooperating  webdesigners  who  have  no programming
   skills.                                                          

Example:

        ### this comment will be removed

        <table>
            <TMPL_LOOP Customers>
                <tr>
                    <TMPL_IF new>
                        <td>new customer</td>
                    <TMPL_ELSE>
                        <td>old customer</td>
                    </TMPL_IF>
                    <td><TMPL_VAR __PASS__></td>
                    <td><TMPL_VAR name></td>
                    <td><TMPL_VAR city></td>
                </tr>
            </TMPL_LOOP>
        </table>



For diskussion af interaktivitet i browsere:
Se ny tråd om [MISC] brugerstyrede computere.




-- 
donald_j_axel donax snabela get2net.dk -- http://d-axel.dk/


References