I've written before about CSS and why it seems to be so hard for a Typical Java Developer (TJD) to craft "nice" HTML+CSS presentation layers.
Here's the behavioural pattern I've observed when a TJD has to do some front-end web-work:
- Panic - rather than embrace the opportunity to learn a new paradigm/technology, as they would probably enjoy doing if it was a Java API
- Copy-and-paste from the existing codebase - despite knowing that this leads to unmaintainable code no matter what the language
- Copy-and-paste from the web - without understanding what is going on
- Randomly tweak values in the browser using Firebug or Chrome Developer Tools until it "looks right" (I've started to call this CSS flailing)
- Give Up And Use Tables (for non-tabular data). The ultimate fail
In posts-to-come I'm going to try and identify some CSS "patterns" that a software developer can actually understand (as opposed to copy-and-pasting) which hopefully will put an end to the above behaviours, any of which would be regarded as unforgivable if it was perpetrated in the squeaky-clean corridors of Java-land ;-) but are somehow considered par-for-the-course in the unfamiliar yet forgiving world of UI...