All I know is that I see regularly regressions when devs touch the CSS and one reason I believe is because CSS files are not commented so you don't know why something was done in a given way and you change it, thus breaking some other part.
I have touched the CSS several times too and I know I was very uncomfortable every time since I didn't know where what I was touching was used and what were the rules governing what I was touching. Maybe there are ways to write unit tests for CSS and if that existed it would be even better than commenting I agree (even though comments would still be needed to explain why something is done in given manner). Thanks -Vincent On Jan 21, 2010, at 8:36 PM, Ecaterina Valica wrote: > If we want to have more comments in the CSS we should use a minimizer for > the CSS, so that they are removed (along with the spaces) from the version > we serve to the client. Some CSS files we have already do this. > > Another problem with CSS is that we add / modify some rules to assure > compatibility with some specific browser. A solution would be to have > specific files (just like the one we have for IE6) for the browsers that > need those properties, so that we don't have to comment on every lines what > compatibility is used for. Having multiple files that do the same thing can > be hard to manage and sometimes browsers share behavior (depending on the > engine). Ex: In the patch above the scrolling was only for Chrome and > Safari. > > And the big problem in my opinion is that rules come in packages. To fix one > bug you would need to comment a line in a class that is dependent to a line > from another class, etc, etc. Ex: In the patch above the widths matter > because of the float:left. Plus the cascading inheritance behavior of CSS. > > Right now we use comments in CSS to group properties, to specify overriding, > to specify the browser that needs the property or to mark the hack. _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

