From: <rko...@cc...> - 2010-04-12 19:55:10
|
Hi again! Monsieur Gwenael already listed quite a lot of good practices, but I guess I could add a few more good Makumba practices used in BEST: 1.) Grouping related files into directories. Not only does this make it easier to figure out what a given file is about (based on directory and file names), it also makes it easier to implement access control (authentication/authorisation) using business logics, since you can just define one BL file for the whole directory to handle access control to all files within. Eg. if an application has specific admin pages, it is likely to make sense to group them in a specific admin/ directory. 2.) Code intending. Since there are many Makumba tags that use both opening and closing tags, it is a good idea to use code intending to indicate where a particuler tag starts and ends. This is particularly important on big pages with lots of mak:list tags and such. Simple double spacing for intending tends to work pretty decently, producing something like this: <mak:object from="some.Thing st"> <mak:list from="some.Else se"> <mak:value expr="se.name"/> <mak:if test="something"> <mak:value expr="otherName" /> </mak:if> </mak:list> </mak:object> Besides improving readability, this also makes it easier during development to spot if you have any accidentally missing closing tags. Naturally intending conventions should also be used consistently on any HTML, JSP, JSTL etc. tags also contained within a given page. Risto Koivunen > Quoting gwenael <gw...@gm...>: > >> Back to one of my original questions, let me refine it a bit: >> It seems like BEST is the "flagship" Makumba-based site. What >> techniques have you used there to improve >> the code quality and make it easier to maintain/read/understand etc? > > Well BEST site is definitely the biggest, but they are surely quite > some other sites around although I wouldn't be able to point you at a > definite list. > Code quality is achieved partly thanks to the technology used > (enforcing a kind of MVC pattern, compared say to PHP), partly through > development guidelines providing consistency e.g. for naming > conventions (for pages, session attributes..). Code has been > continuously improved, in simplicity and readability, as Makumba > provided more and more functionalities, or as other standard tag > librairies were made available. |