- 浏览: 2542849 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
jsntghf:
peio 写道这个怎么运行?Ruby On Rails的环境搭 ...
多文件上传之uploadify -
peio:
这个怎么运行?
多文件上传之uploadify -
往事如烟1:
我的项目是自己init了一个原始的project,之后将ver ...
React Native热部署之CodePush -
jsntghf:
往事如烟1 写道我按照你的说明进行,发现app退出之后,在进入 ...
React Native热部署之CodePush -
往事如烟1:
我按照你的说明进行,发现app退出之后,在进入不正确,请问是什 ...
React Native热部署之CodePush
1、尽快结束if语句
例如下面这个JavaScript语句,看起来就很恐怖:
function findShape(flags, point, attribute, list) { if(!findShapePoints(flags, point, attribute)) { if(!doFindShapePoints(flags, point, attribute)) { if(!findInShape(flags, point, attribute)) { if(!findFromGuide(flags,point)) { if(list.count() > 0 && flags == 1) { doSomething(); } } } } } }
但如果这么写就好看得多:
function findShape(flags, point, attribute, list) { if(findShapePoints(flags, point, attribute)) { return; } if(doFindShapePoints(flags, point, attribute)) { return; } if(findInShape(flags, point, attribute)) { return; } if(findFromGuide(flags,point)) { return; } if (!(list.count() > 0 && flags == 1)) { return; } doSomething(); }
你可能会很不喜欢第二种的表述方式,但反映出了迅速返回if值的思想,也可以理解为:避免不必要的else陈述。
2、如果只是简单的布尔运算(逻辑运算),不要使用if语句
例如:
function isStringEmpty(str){ if(str === "") { return true; } else { return false; } }
可以写为:
function isStringEmpty(str){ return (str === ""); }
3、使用空白,这是免费的
例如:
function getSomeAngle() { // Some code here then radAngle1 = Math.atan(slope(center, point1)); radAngle2 = Math.atan(slope(center, point2)); firstAngle = getStartAngle(radAngle1, point1, center); secondAngle = getStartAngle(radAngle2, point2, center); radAngle1 = degreesToRadians(firstAngle); radAngle2 = degreesToRadians(secondAngle); baseRadius = distance(point, center); radius = baseRadius + (lines * y); p1["x"] = roundValue(radius * Math.cos(radAngle1) + center["x"]); p1["y"] = roundValue(radius * Math.sin(radAngle1) + center["y"]); pt2["x"] = roundValue(radius * Math.cos(radAngle2) + center["y"]); pt2["y"] = roundValue(radius * Math.sin(radAngle2) + center["y"]); // Now some more code }
很多开发者不愿意使用空白,就好像这要收费一样。我在此并非刻意地添加空白,粗鲁地打断代码的连贯性。在实际编写代码的过程中,会很容易地发现在什么地方加入空白,这不但美观而且让读者易懂,如下:
function getSomeAngle() { // Some code here then radAngle1 = Math.atan(slope(center, point1)); radAngle2 = Math.atan(slope(center, point2)); firstAngle = getStartAngle(radAngle1, point1, center); secondAngle = getStartAngle(radAngle2, point2, center); radAngle1 = degreesToRadians(firstAngle); radAngle2 = degreesToRadians(secondAngle); baseRadius = distance(point, center); radius = baseRadius + (lines * y); p1["x"] = roundValue(radius * Math.cos(radAngle1) + center["x"]); p1["y"] = roundValue(radius * Math.sin(radAngle1) + center["y"]); pt2["x"] = roundValue(radius * Math.cos(radAngle2) + center["y"]); pt2["y"] = roundValue(radius * Math.sin(radAngle2) + center["y"]); // Now some more code }
4、不要使用无谓的注释
无谓的注释让人费神,这实在很讨厌。不要标出很明显的注释。在以下的例子中,每个人都知道代码表达的是“students id”,因而没必要标出。
function existsStudent(id, list) { for(i = 0; i < list.length; i++) { student = list[i]; // Get the student's id thisId = student.getId(); if(thisId === id) { return true; } } return false; }
5、不要在源文件中留下已经删除的代码,哪怕你标注了
如果你使用了版本控制,那么你就可以轻松地找回前一个版本的代码。如果别人大费周折地读了你的代码,却发现是要删除的代码,这实在太恨人了。
//function thisReallyHandyFunction() { // someMagic(); // someMoreMagic(); // magicNumber = evenMoreMagic(); // return magicNumber; //}
6、不要有太长的代码
看太长的代码实在太费劲,尤其是代码本身的功能又很小。如下:
public static EnumMap getGroupCategoryDistribution(EnumMap sizes, int groups) { EnumMap categoryGroupCounts = new EnumMap(Category.class); for(Category cat : Category.values()) { categoryGroupCounts.put(cat, getCategoryDistribution(sizes.get(cat), groups)); } }
我并不是说非要坚持70个字符以内,但是一个比较理想的长度是控制在120个字符内。如果你把代码发布在互联网上,用户读起来就很困难。
7、不要在一个功能(或者函数内)有太多代码行
我的一个老同事曾经说Visual C++很臭,因为它不允许你在一个函数内拥有超过10,000行代码。我记不清代码行数的上限,不知道他说的是否正确,但我很不赞成他的观点。如果一个函数超过了50行,看起来有多费劲你知道么,还有没完没了的if循环,而且你还得滚动鼠标前后对照这段代码。对我而言,超过35行的代码理解起来就很困难了。我的建议是超过这个数字就把一个函数代码分割成两个。
发表评论
-
迁移Git仓库
2017-05-06 16:14 6561、从原地址克隆一份裸版本库,例如原来托管于GitHub ... -
一种简单直观的权限设计
2011-11-01 18:22 1507大部分系统都有权限系统,一般来说,它能管控人员对某个页面的访问 ... -
putty中文乱码问题
2011-06-27 12:26 1652方法一 打开putty主程序,选择window-〉Appea ... -
关于web216安全色
2011-06-22 14:13 2085web安全色,又叫做网页 ... -
如何用IIS搭建邮件服务器
2011-06-15 09:56 5552很多企业局域网内都架 ... -
客户端打不开TD页面的解决方法
2011-05-11 12:02 2146在客户端输入地址,可以看到TD首页,点击TestDirecto ... -
Web中一些不利于做缓存的因素
2011-05-05 08:23 1247使用SSL做通信的页面 作为安全通信,不做缓存处理,这个时候我 ... -
URL中的连字符(减号)优于下划线
2011-04-29 10:23 5339关于URL中单词连接使用下划线还是连字符(减号),曾有很多讨论 ... -
全世界最短的IE判定
2011-04-25 14:05 1065以前最短的IE判定借助于IE不支持垂直制表符的特性搞出来的。 ... -
49个影响网站排名的因素
2011-03-04 10:24 1160内部因素 URL中出现关键词网页Title中出现关键词常 ... -
影响SEO的页面制作细节
2011-03-03 10:38 12861、将css与javascript全部分离到外部文件中去。让h ... -
自动语法高亮-SyntaxHighlighter
2011-02-27 16:26 1124效果还不错,纯JavaScript实现。官网地址:http:/ ... -
Windows下如何查看端口被占用
2011-01-25 08:41 2141在windows下经常碰到apache启动端口被占用的问题,我 ... -
自动语法高亮-google-code-prettify
2011-01-24 09:31 1702特点是无须指定语言! 使用方法: 1. 包含脚本和样 ... -
configure/make/make install的作用
2011-01-19 08:37 1452在linux上安装软件会用到诸如configure/make/ ... -
如何能让bing快速收录你
2011-01-09 11:32 1750MS的bing(必应)搜索引擎仿佛不像GG和baidu那样。 ... -
SEO工具大全
2011-01-03 21:53 1737域名与主机工具: 域名批量查询:http://www.w ... -
网站优化七步曲
2010-12-18 14:57 1218第一步:关键词分析 分 ... -
代码的自我审查
2010-12-15 00:22 13121、首先态度需要端正, ... -
从Objective-C的排名看移动开发的火爆程度
2010-12-13 13:04 1650对大多数人来说,Objecti ...
相关推荐
跨年烟花代码代码写出漂亮的动态烟花
如何写出漂亮的代码:改良程序的11个技巧!有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码时,你就要开始阅读它了。...
所以我们写代码要漂亮、要优雅。 这种代码维护成本相当高,要改一个bug或者新增加一个极小的功能,都可以把人玩死。首先是一个方法上来三四百行,硬看是看不懂的,为什么?举这么几个例子: 1. 没有意义的...
总之,这个“C#写的漂亮的抽奖源代码”涵盖了C#语言基础、面向对象编程、随机数生成、UI设计以及事件驱动编程等多个知识点。通过分析和学习这样的源代码,开发者不仅可以提升C#技能,还能了解到如何结合业务需求,...
What Beautiful HTML Code Looks Like 如何写出漂亮的HTML代码. 老外写的一篇文章:What Beautiful HTML Code Looks Like 如何写出漂亮的HTML代码 感觉写的非常的不错,转载过来,与大家分享一下:ps:原文地址:...
在这个项目中,"C#写的漂亮的抽奖源代码2019"揭示了如何利用C#构建一个具有视觉吸引力且功能完善的抽奖系统。这个系统的实现不仅涉及基本的编程技术,还涵盖了图形用户界面(GUI)设计、随机数生成、事件处理等关键...
对于自定义控件,如按钮,你可以使用`Pen`和`FillRectangle`方法来画出边框和填充色,`DrawString`来绘制文字。例如: ```csharp Rectangle buttonRect = new Rectangle(10, 10, 100, 30); // 按钮位置和大小 ...
在本资源"C#写的漂亮的抽奖源代码.rar"中,我们可以深入探讨C#编程语言在实现一个美观且功能完善的抽奖系统中的应用。C#是Microsoft公司推出的一种面向对象的编程语言,广泛应用于Windows平台上的应用程序开发,包括...
"非常漂亮的页面导航代码,纯CSS+JQUERY"这个主题聚焦于如何利用这两门技术来创建美观且功能强大的导航菜单。CSS(层叠样式表)负责样式设计,而JQUERY则用于增强交互性。 首先,让我们深入了解CSS。CSS是一种标记...
这不仅仅是关于技术细节或底层编程技巧的问题,更是一种态度、一种对代码艺术的追求。 #### 二、什么是好的程序员? 文件提到,一个好的程序员不仅要有扎实的技术基础,还需要具备良好的编程修养。这里列出了几个...
"用lable写出漂亮的表格"这个主题聚焦于如何利用编程语言中的lable(可能是标签或者拼写错误,通常应为`label`)库来构建高效且视觉效果良好的表格。在Python中,Pandas库的`DataFrame`对象可以与matplotlib的`...
- **历史演变**:作者最初关注的是错误的代码编写方式,后来转向积极的一面,即如何写出优秀、高效的代码。 - **作者简介**:Laura Thomson是一位资深的PHP开发者,拥有丰富的工程经验和咨询背景。她曾在Mozilla等...
在这个名为"C#写的漂亮的抽奖源代码(0520_).rar"的压缩包中,我们拥有一份使用C#编写的精美抽奖程序的源代码。这份源代码对于学习C#编程,尤其是涉及到图形用户界面(GUI)设计、随机数生成以及事件处理等概念的...
写出漂亮代码是每个程序员都应该追求的目标,因为它直接影响到代码的可读性、可维护性和团队协作效率。以下是一些改良程序的技巧: 1. **尽量保持方法简短**:一个方法应该只做一件事,且尽量控制在5-20行内,避免...
在本资源"C#写的漂亮的抽奖源代码-YQZ.rar"中,我们主要关注的是使用C#编程语言实现的抽奖系统。C#是一种面向对象的、类型安全的编程语言,广泛应用于Windows应用程序、游戏开发以及Web服务等多个领域。在这个项目中...