zoukankan      html  css  js  c++  java
  • 开发规范浅谈

        在做项目的过程中,有很多“奇怪”的缺陷:本地好好的,到了测试环境(换个机器、换个浏览器……)就不行,有时都快冒火了,缺陷愣是解决不了;过后呢,不经意的又弄好了。。。而且,越是新手,越容易碰到这种问题。这里面有很多是由于未遵守开发规范导致的。

    ————————————记忆的分割线————————————
       
        有时,我们会质疑规范的必要性和用意,感觉不够灵活、无所谓;其实不然。这些规范、要求,都是前辈们用时间与智慧换来的。每条规范都有背景、有上下文。当我们不遵守规范,而且也没有出现问题时,需要认识到一点:我们违反了某些规范也没出现问题,渐渐地可能会对这些规范不以为然。这也许会埋下一个BUG,特定情况下便会触发!
        比如,公司有一条JavaScript规范:body中不要写script标签。有一次我违反了这条规范,开发中也没有发现问题。后来,需要在页面上添加一个排序功能,通过按钮向上或向下调整顺序。我是通过jquery的before、after方法来实现的。但是,出现了一个奇怪的问题,有些本应只在页面初始化时执行的方法,点击按钮调整顺序时竟然也执行了。找了好长时间才发现,原来被调整的元素中包含script标签,调整元素顺序时相当于先在document中删除此元素,然后再新增一个同样的。元素中的script标签会被document重新加载一次,里面的JavaScript代码也会再次执行,于是就出现了上述的怪问题。分析完这个问题,我发现这很low,处理这种问题简直是浪费时间。也许当初制定body中必须要写script标签的规范,并不是为了解决这个问题,但是这确实能帮我们开发出质量更高的代码,避免一些本不应出现的问题。
    ————————————未来的分割线————————————
     
        规范,有时觉得高深、有时觉得古板,但这是安全快速开发的第一步。第二步才是不断的去改进和完善规范。



  • 相关阅读:
    SpringMVC常用注解
    在Java 中,如何跳出当前的多重嵌套循环?
    当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
    查看远程库信息(git remote的用法)
    webpack和gulp的比较
    git pull 和git fetch的区别
    什么是性能优化?
    第一阶段的任务及燃尽图(第五天)
    第一阶段的任务及燃尽图(第二天)
    第一阶段的任务及燃尽图(第一天)
  • 原文地址:https://www.cnblogs.com/feiqihang/p/3594232.html
Copyright © 2011-2022 走看看