您的灵活性通常就是他们的灵活性。您遵循的所有最佳做法都是应用程序的双赢。
但是,编写关键的UI是一个关键且经常被忽略的问题。太多的UI组件过多地固定在一个上下文或一组过于严格的HTML上,并且CSS设置失败。
例如,如果您有下拉菜单,则将绝对定位的下拉组件锚定在相对集(无需坐标)单击的容器内的JS工作要比拉出JQuery锤子并获得将其悬停的坐标要少得多。在元素上方,然后将其粘贴到位。如果页面移动或某些新的浏览器功能放弃了定位信息,则中断的可能性也大大降低。您越依赖HTML / CSS技能避免JS工作,您的UI通常就越健壮。
通常,我会尝试确保UI组件唯一需要的是HTML标记,以使用适当的ID或类来容纳它。您可以在不破坏UI的情况下使用该容器执行更多操作,或者随着容器尺寸的变化而适应容器的实际扩展/缩小,它可以在无需客户端的情况下轻松地在应用程序的任何部分上实现专家。他们要做的就是在上面坚持一堂课。
首选在ui容器上进行事件委派,而不是直接将侦听器分配给按钮之类的端点节点。该UI组件现在可以与静态HTML一起使用,但是您永远不知道何时有人希望能够使用innerHTML或其他东西来翻录和重写HTML。如果容器是完整的,并且所有事件都被委派了(请参见jquery的“ on”方法),则不必担心,它们可能永远也不会学习替换HTML中断监听器的困难方法。
为了使委派成为一种选择,不要在端点节点以外的任何地方使用stopPropagate并将仇恨邮件发送给白痴的框架开发人员,这些开发人员到处都是垃圾邮件。
就布局而言,使HTML保持最少的语义,并避免使用div包装器。HTML越少,布局新手就越容易诊断布局问题。
为实用程序CSS使用不言自明的类名。对于CSS新手来说,“行”类比“ clearfix”类更清晰。
始终提供唯一的部分元素,唯一的ID。它使识别某节特定内容发生的位置变得更加容易,覆盖这些内容也变得更加容易,并且还可以提高易读性和性能。
显然,过度使用类方案是个坏消息,但是后端开发人员只需在事物上添加正确的类就可以设置更多的内容,那么他们对现有页面进行更改的过程就越容易。
当然,在项目开始时,至少要让他们就这一点达成共识:后端和前端仅通过HTML和JSON连接。不要让他们使用“为您编写JavaScript”的内容!这是一个流血的混乱和维护的噩梦。
与所有与开发相关的事物一样,更喜欢DRY和极简主义。