随笔分类 -  Coding Principle

Coding Principle(编码原则)。
编码原则:最小化使用控制结构(条件和循环)续:告别 break 和 continue
摘要:如果最小化的使用了for、while等控制结构,那么,之前控制结构对应的两个控制语句(break he continue)也需要有对应的替换方案,好在几乎所有支持高阶函数的语言的集合API都有支持。 阅读全文

posted @ 2015-01-05 20:01 幸福框架 阅读(485) 评论(0) 推荐(0) 编辑

编码原则:表驱动法
摘要:背景表驱动法,最早接触这个概念是看《代码大全》,之前也在不自觉的应用,本文对这一个概念再做简短的总结。表驱动法说明这个概念之前最好先给出不使用这个概念的代码,常见的需要使用表驱动的场景有如下三种情况:场景1:不同条件不同数据if (key = "Key A"){ 处理 Key A 相关的数据。}el... 阅读全文

posted @ 2014-11-22 09:20 幸福框架 阅读(4024) 评论(1) 推荐(3) 编辑

编码原则:最小化使用控制结构(条件和循环)
摘要:背景首先声明的是,这里并不是说使用控制结构不好,而是在当前的主流语言中(C#、Java、JS),多数场景可以不实用控制结构。随之而来的便是如何消除控制结构。如何消除控制结构使用表驱动或多态消除条件控制结构。使用函数式编程消除循环控制结构,如:map、reduce、filter、sort、max、mi... 阅读全文

posted @ 2014-06-03 12:03 幸福框架 阅读(250) 评论(0) 推荐(0) 编辑

编码原则:设立规则、坚持规则
摘要:为自己或团队制定一些规则并坚持这些规则。 阅读全文

posted @ 2014-05-29 15:47 幸福框架 阅读(295) 评论(0) 推荐(0) 编辑

编程原则:日志务必详细
摘要:责人之心责己 恕己之心恕人使用过的国外软件在系统出现异常时,给出的日志非常详细。以后自己开发应用也需要注意输出日志信息。详细的日志信息在互联网金融行业更需要。 阅读全文

posted @ 2014-05-28 09:25 幸福框架 阅读(288) 评论(0) 推荐(0) 编辑

编码原则:如何减少缩进层次
摘要:过多的缩进层次不利于代码阅读,进而不利于代码的维护,给自己一些这方面的原则,如:不能超过三层(我自己的原则)。如何消除缩进:提前返回遇到非法路径就提前抛出异常遇到非正常条件就提前返回默认值,如:边界情况、特殊情况。重构为子方法:某些代码片段可以使用重构工具自动生成子方法,某些需要执行一系列小的重构步... 阅读全文

posted @ 2014-05-27 08:50 幸福框架 阅读(1644) 评论(0) 推荐(0) 编辑

编码原则:“防御式编程”再次让我快乐
摘要:不要相信你的协作者,你会发现BUG会更及时的重现,你更会有这样的惊喜:协作者忽略了某些情况的处理,而你已经对其进行处理了。如果加上良好的沟通,你和协作者就会是一个完美的团队。 阅读全文

posted @ 2014-04-11 08:30 幸福框架 阅读(438) 评论(0) 推荐(0) 编辑

编码原则:不变量/前置条件/后置条件
摘要:“显式的表达假设“,这句话布置适合编码,也适合和人交往。不变量类型会持有某些状态,不变量则是对这些状态合法性的一些断言,每次修改系统状态的时候都需要显式的调用这些断言,如果不满足不变量,则说明:业务逻辑有问题。前置条件类型承担某些职责的时候需要一定的资源,即:前置条件,如果不满足前置条件,则说明:调... 阅读全文

posted @ 2014-04-07 10:21 幸福框架 阅读(1935) 评论(0) 推荐(0) 编辑

编码原则:代码洁癖
摘要:大多数工具都是一把双面剑,代码洁癖亦如此,不过你大可以先养成这种习惯,然后再对其优缺点做出自己的评价。代码洁癖有哪些表现形式呢?一致的源代码组织方式。一致的代码排版风格,细致到空白行。一致的命名。 阅读全文

posted @ 2014-04-01 08:12 幸福框架 阅读(727) 评论(0) 推荐(0) 编辑

编码原则:命名很难,多写些中文注释吧!
摘要:命名英文名很难,中国人命名英文名字更难,没过四级的中国人命名英文名字难上加难,起完一个名字后,记得增加一些中文注释,这里更多的是指公共 API的命名。我之前倾向于好的名字胜过注视,在框架开发层面我发现确实可以做到,不过业务代码真的很难命名。 阅读全文

posted @ 2014-03-27 16:32 幸福框架 阅读(279) 评论(0) 推荐(0) 编辑

编码原则:一致的思维(深度的一致)
摘要:结构 1 /** 2 * 返回默认的表单 items 。 3 * 4 * @return {Array} 5 */ 6 getDefaultFormItems: function () { 7 var me = this; 8 9 return Ext.Array.map(me.getProperties(), function (property) {10 var editorConfig = window.CSharpTypeMapper.getFormEditorDefau... 阅读全文

posted @ 2014-01-07 13:03 幸福框架 阅读(697) 评论(0) 推荐(0) 编辑

编码原则:一致的风格(静态的一致)
摘要:说明几乎每个平台都有自己的编程风格,如:SQL、Java、Javascript、C# 等,甚至某些库也有自己的编程风格,如:JQuery、ExtJs 等。严格遵从平台的编程风格是非常有必要的。每个平台都有一些开源的好产品,学习编程风格的一种途径就是:学习这些开源产品的源码。不过,根据具体情况,团队或项目可以在平台编码风格的基础上,定制自己的编码风格。优点一致。 阅读全文

posted @ 2014-01-06 12:58 幸福框架 阅读(289) 评论(0) 推荐(0) 编辑

编码原则:必要的代码段落
摘要:结构1 第一段代码2 xxxxxxxxxx3 xxxxxxxxxx4 5 第二段代码6 xxxxxxxxxx7 xxxxxxxxxx更合理的做法可能是为每段代码重构出一个方法,如果您觉得没必要重构为方法,就可以采用代码段落的形式。优点更清晰的代码结构。 阅读全文

posted @ 2014-01-05 12:53 幸福框架 阅读(239) 评论(0) 推荐(0) 编辑

编码原则:短小的函数
摘要:结构代码行数不要超过 15 行,为啥是 15 呢?我也不知道。 1 /** 2 * 根据元数据自动生成的表单。 3 */ 4 Ext.define('Happy.form.metadata.Panel', { 5 extend: 'Happy.form.Panel', 6 alias: 'widget.happy-metadata-form', 7 mixins: { 8 'custom-configable': 'Happy.mixin.CustomConfigable' 9 },10 11 /**12 * 根据 阅读全文

posted @ 2014-01-04 12:49 幸福框架 阅读(617) 评论(0) 推荐(0) 编辑

编码原则:必须使用的 TODO
摘要:结构1 // TODO:JS ParentId 不要使用硬编码。2 var parentId = record.get('ParentId');3 var parentNode = me.getStore().getNodeById(parentId);优点减少你大脑的压力,一旦写完 TODO 注释,你即将注释的内容从脑子中的任务队列暂时移除,当然,你每天都需要重新预约 TODO LIST。简化实现的复杂性,某些代码刚开始没必要编码的非常完善,你希望慢慢演化代码,但是也希望前瞻性的记录一下演化的方向。 阅读全文

posted @ 2014-01-03 14:05 幸福框架 阅读(2024) 评论(0) 推荐(0) 编辑

编码原则:意外情况的注释
摘要:结构1 // 这里的实现太有意思了,正常人可能都不会这么设计,这里还不得不做这种设计,理由如下:xxxxxxx。优点N 年后某些人(最后可能的就是你自己)再读这段代码,即使感觉到惊奇、别扭,也不至于骂你。 阅读全文

posted @ 2014-01-02 12:31 幸福框架 阅读(220) 评论(0) 推荐(0) 编辑

编码原则:利用伪代码,在更高层次编程
摘要:结构先使用更高语义的语言(伪代码)编写代码,如下:1 第一步:注释 12 第二步:注释 23 第三步:注释 34 如果 条件 15 第四步:注释 4然后用语言(C#)实现每一行注释,最好实现为方法或代码段落,如下:优点一致的抽象层次。 阅读全文

posted @ 2014-01-01 12:24 幸福框架 阅读(742) 评论(0) 推荐(0) 编辑

编码原则:提前返回
摘要:结构 1 if (非法条件) 2 { 3 抛出异常 或 返回某些值 4 } 5 6 if (特殊条件) 7 { 8 返回某些值 9 }10 11 正常流程优点代码嵌套层次降低,进而提供代码的简洁度。简化逻辑,先处理非法和特殊情况,程序的主流程只包含正常逻辑。 阅读全文

posted @ 2013-12-31 12:25 幸福框架 阅读(380) 评论(0) 推荐(0) 编辑

导航

我要啦免费统计
点击右上角即可分享
微信分享提示