Forum: CFEngine Help
Subject: Re: CFEngine Help: Thoughts about some cfengine design decisions?
Author: lauwersw
Link to topic: https://cfengine.com/forum/read.php?3,24294,24325#msg-24325

Mark Burgess Wrote:
-------------------------------------------------------
> In CFEngine 3 syntax we have managed to reduce
> 10,000 lines of code down 
> to 1000 due to the absorption of irrelevancy using
> the body templates. 
> The interesting part of the code is not what all
> of these attributes 
> actually are, but what is the *intention*. Now we
> can write
> 
>    "$(ftp)/usr/lib"
>                 perms => simple1,
>      depth_search => simple2,
>          copy_from => x("/usr/lib");
> 
> And you can sprinkle parameters where you want for
> *clarity of 
> communication*, not for programming necessity.
..
> This does not mean that the discussion is over, as
> there are plenty of 
> things we can do to make CFEngine 3 even simpler
> to understand. I hope 
> to come back with something on this in the new
> year.

I agree that while inlining parameters looks tempting, it will probably create 
much harder to maintain code. On the other hand now we risk ending up with tens 
of bodies, all looking very similar but being different in small details. It 
isn't really a blocker for me to learn the cfengine3 language and usually I can 
limit the number of different bodies. So I've got a bit mixed feelings about 
this. 

Still somewhere (but I don't find it back) I've read a suggestion that a kind 
of inheritance of bodies would be nice, and I like that idea. For example you 
could have the basic copy_from bodies, but if you want them to use digest => 
"true", you have to copy all of them and just add that parameter. I liked that 
suggestion, though it might be hard to implement in a clear way.

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to