在代码中遇到条件判断时,需要注意什么

有些是专门针对web前端,有些则都适鼡.这些注意事项不写,可能不会影响你想表达的效果.但是,你若想在这方面深入了解,甚至从事这一行业的话,那么这一定是硬性要求,既方便自己檢查,也方便别人查看,

1.文档声明必须写,并且要写对.  在web2.0时代,由于历史遗留问题,各个厂商的浏览器和各种版本的规范,导致你写的代码在不同浏览器上可能会有不同的效果,而写文档声明则可以帮助浏览器选择解析方案,从而使你的代码正确表达.ps:现在各个浏览器都在朝标准化前进,部分html5和css3吔可以使用了.所以对于初学者来说,浏览器兼容会比之前容易,而且前一代前端人奋战的IE6,IE7这些的市场份额也逐步降低.

大多数Web文档都需要遵循由W3C發布的某个国际公认的Web标准所以那些文档通常都要包含以下标准doctype声明之一:含以下标准doctype声明之一:

2.写代码时注意缩进.  一个没有缩进的代碼让人看起来头都是大的,而加上缩进以后,代码的层次感立马就显现出来.例如


这两种孰优孰劣不用多说了吧,

3.html中加入css样式和javascript时尽量使用外联样式,而不是用内联样式或行内样式,这样做的好处是方便以后修改,

4.命名语义化,  在html文档中少补了class和ID命名,而在命名时选择语义化的单词,能让别人更加容易读懂你的想法,而且不要用相关属性来命名,因为你不知道以后会改成什么样,修改后以前的命名就毫无意义了.

5.html文档能多小就多小,这就和湔面的css与javascript用外联吻合,除此之外,还有一些其他效果也尽量用css来处理,比如英文的大小写等等

6.为body单独命名.    这样方便为所有元素加上相同性质.(通配苻选择器也可以解决这个问题吧?)

7.整个代码按照页面的逻辑顺序写.其中在外联css和javascript时,把css放在javascript前面,这样渲染速度会加快,加强用户体验

上述所说的許多或许你觉得意义不大,但是在以后你会发现非常重要.任何程序员都不是一个人在战斗,团队是肯定的.所以为了方便团队合作,上面所述还是偠注意的.

这些是在看到相关文章后,加上自己的体会然后写出来的,大家若有其他想法,欢迎交流.

第一次写文,如有错误请指出,必定虚心改正,

}

一般开始做项目之前会先进行调研看顶会的论文然后重现一下。一般Github上都有开源的代码而且代码本身应该没什么大问题,但是在不同机子上跑的时候由于库的版本等等的环境配置不同跑起来会比较坎坷最近连着重现了三个CVPR的论文,有时候真的被自己蠢到了打算记录一下自己之前没有注意的地方:

1、一定要注意各种库的版本问题:比较成熟的代码跑不通或者报维度之类的错误,很大概率就是版本不对应
2、遇到错误的时候可以先去Github對应项目的issue栏里看看,尤其是看closed的问题closed说明问题已经被解决了,有较大的参考意义比如版本、cpu/gpu、运行结果与预期不符的问题应该大多嘟有人在里面问过了。
3、跑代码的时候要注意下的master或者代码下面的说明中有没有pre-trained model可用感觉大多数项目都附上了train好的model,可以直接用来test但昰也有没给的,就需要自己先train一下可以通过判断代码引用的model、checkpoint之类的文件是否存在,如果没有就是要自己train或者另外下载而且有时候没囿pre-trained model代码跑起来也不会报错,就是运行结果十分诡异
4、如果跑代码的时候觉得他的步骤说的不清楚,可以看看他有没有历史版本这种情況可能是用到的数据库涉及版权问题,然后对原版进行了修改但是历史版本应该是注明都比较清楚的。

}

代码走查(code walkthrough)是一个开发人员与架构師集中讨论代码的过程代码走查的目的是交换有关代码是如何书写的思路,并建立一个对代码的标准集体阐述 在代码走查的过程中,開发人员都应该有机会向其他人来阐述他们的代码 通常地,即便是简单的代码阐述也会帮助开发人员识别出错误并预想出对以前麻烦问題的新的解决办法

当团队成员对代码进行讨论的时候,他们的讨论应该集中到一些重要的话题上比如算法,基于对象的编程类设计。 然而许多代码走查不会做这些事,通常代码走查是枯燥的烦人的,机械的 这就是为什么许多开发人员讨厌这些。要使得代码走查變得很有效那么这个过程就必须是有趣的,有创造性的 很经常地,代码走查退化成了仅是关注于强制代码标准 —— 一个可以被自动执荇的实践当这种情形出现后,团队通常会觉得代码走查没有价值然后将代码走查从他们开发过程中去除掉。这样便失去了他们可以从囸确地执行代码走查的过程获益的机会

代码可读性这个话题一直以来都是备受关注,但是可读性高与不高却没有统一的标准毕竟各个公司,甚至于各个项目的规范都是不一样的我们不能说一个抽象性极好,灵活度极高却让人十天半个月都难以搞清楚的代码的可读性高也不能说一个长达几千行却从头至尾逻辑性比较好的代码的可读性差。那么怎样的代码才算是合理的才算是可读性高的呢?我想不同の中必有共性那就是经过走查的、能够被项目组其他成员接受并能尽快看懂的代码就是可读性好的。

要对代码可读性做走查这需要人仂、物力、以及项目宝贵的时间。对于一个项目来说成本是一个重要的考虑因素,然而走查无疑会增加项目的成本那么为什么还要做赱查呢?其实任何一个项目经理都清楚一个成功的项目都是难以一蹴而就的开发过程必然会遇到各种各样的问题和阻力,这也验证了那呴老话:“软件开发中唯一不会变的就是需求永远会变化”。我们也清楚问题越早的被发现那么损失就会越小补救花费的时间就会越尐,自然成本就越低但是我们有多大的机会可以尽早的发现问题呢?这不是我们说早发现问题问题就会跟我们招手说:“看你态度不錯,就让你早发现吧!”这么简单的迭代开发为什么会出现,瀑布式开发为什么难以应对大型的商业、行业项目思考一下我们不难发現,客户难以一次性的、整体的、详尽的把自己想要的东西表达清楚只有当客户看见实实在在的东西之后,他才更明确自己想要什么恏比我们去买裤子,你告诉一个人说:“我要一条简约的牛仔裤”;然后那个人去帮你买但是具体的颜色你确定么,是黑色还是蓝色衤服的口袋你确定么,是有扣子的还是没扣子的只有当你真真切切的到专卖店里面,看到了试过了你才能确定:我要的就是那条180的蓝色嘚口袋上没扣子的XXX牌的裤子也就是说我们很少能够尽早的从客户口中获得问题,除非我们指着我们做出来的东西说:看看这是不是你想要的。既然如此要控制的不是尽早的去发现问题,而是如何在问题出现之后尽早的找出问题所在并解决问题,进而降低项目的成本

其实软件开发的主要时间是花费在调试上,然而调试中花费的大部分时间又在于读代码倘若之前开发该模块的人员已远在天边,面对幾千行混乱无序的代码任谁都难以承受因而花费成本在代码走查上是值得的,而且是必须的可惜的是,现在很少有人去关注代码的规范性、可读性甚至在大公司都是如此。项目管理者过于注重项目的进度只要开发者把自己的任务做完了,很少有人去关注他写的代码甚至开发者自己都不会再去看。

首先代码走查可以提高软件的质量以及可维护性。这样就可以减少查找错误的时间提高解决bug的效率,提高开发效率的同时降低后期的维护成本

其次,经过走查的代码是能够迅速被项目组其他成员看懂的这样有利于项目其他成员更全媔的了解业务,对于成员之间交流也有很好的促进作用当其中负责某个模块的开发人员离职之后其他人员能够迅速的接手相关的开发,並能够尽快的培养新人弥补空缺

最后,代码走查的过程是总结提高的过程也是交流的过程,可以有效的提高开发人员的技术水平以及業务素养增强公司的竞争力,通过总结交流甚至可以从不同项目中提取共性做出相关产品,从而形成公司自己的核心竞争力做到行業领先。

从参加人员来说应该是项目的整体参与者,如果项目太大整体参加的成本很高,那么可以以模块为组进行走查因为他们之間负责的业务是紧密相关的,使用的技术是接近程度比较大的因而开发的规范应该是统一的。

从走查内容来说应该是代码的命名规范,以及组织结构每个项目都有自己的规范,但是如果项目内部使用不同的规范必然会增加发现问题、解决问题的难度同时增加后期的維护成本。

从走查时间来说应该在每个模块开发完成之后进行,便于开发人员之间交流问题以及体会并且每个人的讲解时间不要超过30汾钟,因为模块的业务复杂度不会那么复杂30分钟都讲不清的业务逻辑如何保证代码是清晰的。

从走查的结果来说经过走查的代码应该昰参加成员大部分能认同的,并且参加者每个人都能读懂的逻辑清晰的代码并且通过交流提高项目成员的凝聚力,提高其业务认知度朂好能形成项目之间可以共同使用的产品。

代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的
最近项目组开会进行代码评审,发现可以对代码评审中找到的问题进行一下分类大概可以分成以下几类问题:



}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信