`
cuisuqiang
  • 浏览: 3937211 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3651609
社区版块
存档分类
最新评论

代码编写 四个要点

阅读更多

美观:

 

还记得刚进一家公司时让我改某个人的代码,我当时疯了,代码乱七八糟,我根本就不想看那些代码,怎么去改。

人靠衣装,就算你再有钱再有学识,穿着不好我只能当你是要饭的。写代码也是一样,面对横七竖八乱乱糟糟的代码,反胃的心都有了,怎么去看你的代码。

所以代码的美观度和重要,当然你也没必要刻意去做代码的美观(虽然我经常这么干),但是就像传衣服一样,你不传正装不传礼服,最起码不能穿着没洗过而且破漏的衣服吧。

我还是建议,当你写完自己的代码,花一些时间去格式化和手动美化一下你的代码,一来休息一下二来欣赏一下自己的作品,也许在这个工作中还会发现一些BUG,大家都高兴的事情,何乐而不为? 

 

 

注释:

 

我有这样一个感觉,如果我看一个人的代码却没有注释,首先会感觉到没有安全感。

可能是大家有时候写代码时间过于紧张,而会忽略这些问题但是如果你不注意,可能下个星期你自己连自己的代码都搞不清楚了(至少我有过这样的情况)。

注释是个好东西呀,大家都懂的,只是执行力的问题。

另外代码的注释一定不要累赘,要看见就知道是什么意思。

也不要觉得简单的问题就不写注释,不统一的注释反正我看着是不舒服。

 

 

风格:

 

代码风格涉及的东西还是挺多的,一时也不好说是那些

就是两个人在实现和代码美观上的一致性,比如同样的一个增加查询而你的SQL是拼装的有的是参数传递。再比如我喜欢每个方法都有注释而你只是重点方法有。再比如我的代码分两层而你的代码分三层。

很简单,如果你看这个人的代码和看另外一个人代码没有太大区别,那说明他们的风格是一致的。如果你一眼就看出来不是一个人写的,那就有问题了。

每个公司都有自己的要求,但是公司要求不是每个人都去执行的,另外没必要刻意要求员工必须怎么样做,在不脱离规则的情况下,实现功能完成工作才是最重要的。 

 

 

构想:

 

 你代码怎么实现的对于安全性,效率问题,和别人使用就会有影响。

所以再写一个模块的代码之前,你首先要有至少五分之一的考虑时间。一个系统要开发,调研很重要,那么一些代码要开发,思考就不重要吗?拿到需求就去写,别人同样功能会怎么做,会不会和别人产生交叉,中途会不会因为技术和其他问题而耽误。

一个不会思考的人是不会写出好代码的。

我们不能把写代码仅仅作为一项工作去做,如果只是工作,那完成任务就行了。我们要当作一项乐趣,一项自己的成就,所以要在各个方面去思考着完成它,而不是仅仅为了时间就仓促任意去做。

 

请您到ITEYE看我的原创:http://cuisuqiang.iteye.com

或支持我的个人博客,地址:http://www.javacui.com

 

7
15
分享到:
评论
15 楼 jiangwenxian 2013-03-12  
jinnianshilongnian 写道
cuisuqiang 写道
jinnianshilongnian 写道
cuisuqiang 写道
windcloudno1 写道
说的挺好,请别有错别字。

我要是语文老师,绝对不会有,呵呵呵

即使你是语文老师 也可能有 世事无绝对

伤死我了你

哈哈 

14 楼 jinnianshilongnian 2012-08-20  
cuisuqiang 写道
jinnianshilongnian 写道
cuisuqiang 写道
windcloudno1 写道
说的挺好,请别有错别字。

我要是语文老师,绝对不会有,呵呵呵

即使你是语文老师 也可能有 世事无绝对

伤死我了你

哈哈 
13 楼 cuisuqiang 2012-08-20  
hudepin 写道
风云无浪 写道
函数尽量不要超过五十行,同样功能的代码和有意义的常量,不要出现两次

为什么是50行,发现我写的有的都超过100行了

凡事无绝对
12 楼 cuisuqiang 2012-08-20  
lovexp2010 写道
我觉得第一要点是正确性。比如这段代码能否正确表达这段逻辑,能否覆盖所有的case,脱离这一点,其他都浮云~~~

这是最基本的要求
11 楼 cuisuqiang 2012-08-20  
jinnianshilongnian 写道
cuisuqiang 写道
windcloudno1 写道
说的挺好,请别有错别字。

我要是语文老师,绝对不会有,呵呵呵

即使你是语文老师 也可能有 世事无绝对

伤死我了你
10 楼 hudepin 2012-08-20  
风云无浪 写道
函数尽量不要超过五十行,同样功能的代码和有意义的常量,不要出现两次

为什么是50行,发现我写的有的都超过100行了
9 楼 lovexp2010 2012-08-20  
我觉得第一要点是正确性。比如这段代码能否正确表达这段逻辑,能否覆盖所有的case,脱离这一点,其他都浮云~~~
8 楼 jinnianshilongnian 2012-08-20  
cuisuqiang 写道
windcloudno1 写道
说的挺好,请别有错别字。

我要是语文老师,绝对不会有,呵呵呵

即使你是语文老师 也可能有 世事无绝对
7 楼 cuisuqiang 2012-08-20  
jinnianshilongnian 写道
风格关键是有套合约限制,否则我随时可能乱来(比如心情不爽的时候),比如选择checkstyle。

要有一定的规范框架,但是又不能过度细节化
6 楼 cuisuqiang 2012-08-20  
windcloudno1 写道
说的挺好,请别有错别字。

我要是语文老师,绝对不会有,呵呵呵
5 楼 cuisuqiang 2012-08-20  
风云无浪 写道
函数尽量不要超过五十行,同样功能的代码和有意义的常量,不要出现两次

代码行数确实是个问题,但是往往为了实现,我们都是一脑子股用一个方法把一个功能实现了。为了实现第四个说的代码构想,写完代码可以抽取一下方法!
4 楼 windcloudno1 2012-08-20  
说的挺好,请别有错别字。
3 楼 jinnianshilongnian 2012-08-20  
  
2 楼 jinnianshilongnian 2012-08-20  
风格关键是有套合约限制,否则我随时可能乱来(比如心情不爽的时候),比如选择checkstyle。
1 楼 风云无浪 2012-08-20  
函数尽量不要超过五十行,同样功能的代码和有意义的常量,不要出现两次

相关推荐

    java程序员初学20道题

    1. Java初学者习题20道 ...5. JDBC连接MySQL数据库关键的四个步骤 6. 对于JSF的一些思考 7. 多核时代考验Java代码编写习惯 8. Java JNI深度分析与实践 9. Java三种常见异常及解决 10. Java语言学习六大要点

    Accelerated C++源代码

    每一章都新增了“小结”和“术语”,概括本章要点。读者可以利用这些部分进行自我检查;如果发现还有不理解的概念,可以重新学习该章中的相关部分。书中还加入了下述几种学习辅助手段:重要术语用黑体表示,我们认为...

    Visual Basic.NET精彩编程百例 李强 源代码

     本书按照“实例一操作步骤一技术要点一归纳注释”的结构,介绍编写一个Visual Basic.NET程序的过程,以及编写课程中用到的知识。本书精选了100个VisulaBasic.NET程序实例,并全部编译通过。本书从Visual Basic...

    windows编程实验4

    数据库编程 一、实验目的及要求 理解Windows系统数据库技术,使用ODBC技术编写和数据库结合的Windows执行...掌握使用ADO技术创建一个数据库应用程序的基本步骤和技术要点。 二、实验设备(环境)及要求 Visual C++6.0

    基于 STM32 的直流电机调速+源代码+文档说明

    3. 开机密码锁的具体实现:要点是编写矩阵键盘扫描函数,主函数将在一开始时进入循环,调用扫描函数,来判断是否符合正确密码的要求。 ## 器件或模块选择 - 直流电机 - GPIO 模块 - TIM 模块 - 矩阵键盘 - LED 灯 ...

    C++MFC教程

    CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造: CRect( int l, int t, int r, int b ); 指明四个坐标 CRect( const RECT& srcRect )...

    结构化程序设计讲义.pptx

    2022年6月18日星期六 1 结构化程序设计讲义 结构化... 【8.1】 假定学号的前四位为入学年份,第5,6位为专业代码.编写命令文件test.prg,分别统计所有学生和2010年入学,专业代码为03的学生选修课程号为101课程的平均成绩.

    ASP.NET程序设计:网站计数器.ppt

    任务实施 步骤4 编写用户控件代码文件中的Page_Load事件 步骤5 应用用户控件到页面,展示效果 protected void Page_Load(object sender, EventArgs e) { Literal1.Text = Application["CurNum"].ToString();...

    《笨方法学python》所有练习程序及笔记

    以上文件为《笨方法学python》第四版所有练习的程序,都是自己一点点写的并全部通过正确运行,除了书中已给出的代码,该文件还包含以下内容: 1、对部分重点知识点和难点的提醒和解析 2、在实践中容易遇到的bug及其...

    易学C++

    <br>本书的内容有四个特点: <br>1、 粗体字:读者必须掌握理解的内容,也是每个知识点的精髓或要点。很多初学者容易犯的错误也在粗体字中予以提醒。 <br>2、 试试看:把一些可能与一般情况不符甚至矛盾的...

    易学C++1-17.pdf

    <br>本书的内容有四个特点: <br>1、 粗体字:读者必须掌握理解的内容,也是每个知识点的精髓或要点。很多初学者容易犯的错误也在粗体字中予以提醒。 <br>2、 试试看:把一些可能与一般情况不符甚至矛盾的...

    JAVA基础课程讲义

    AWT中事件处理代码编写 225 编写过程 225 处理过程 225 简化理解上面过程 225 事件和事件源对象 225 事件适配器 232 为什么需要事件适配器 232 事件监听器常见的定义形式 233 AWT其他组件 233 菜单的实现 233 特点 ...

    leetcode打不开-daily_coding_practice:每日编码挑战-来自Leetcode或其他地方

    编写一个函数来平衡账簿。 该函数应该采用一个参数:一个对象/字典,带有两个或多个名称-值对,代表组成员以及每个成员花费的金额。 该函数应该返回一个具有相同名称的对象/字典,显示成员应该支付或收到多少钱。 ...

    C程序设计 第四版 谭浩强 高清扫描版 带完整书签目录 加 学习辅导

    本书的每个例题都按以下几个步骤展开:提出任务—解题思路—编写程序—运行程序—程序分析—有关说明。符合读者认知规律,容易入门与提高。 本书内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题...

    Head.First设计模式_PDF.part1

    第1章还介绍了四个OO基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续介绍了九个OO原则(Principle)。千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计时有...

    单片机 中键盘区别程序说明:

     四、调试要点与实验现象  接好硬件,通过冷启动方式将程序所生成的。hex文件下载到单片机运行后,打开串口调试助手软件,设置好波特率9600,复位单片机,然后按下板上的4×4按键中的任意一个,并注意观串口调试...

    Puppet-5-Cookbook-Fourth-Edition:Puppet 5 Cookbook-第四版,由Packt发行

    本书以最新的进展和最佳实践进行了更新,深入探讨了编写良好的Puppet代码的各个方面,包括使用Puppet社区样式,使用puppet-lint检查清单以及学习社区的最佳实践(重点是实际实现)。 本书涵盖了以下令人兴奋的功能...

    ASP.NET3.5从入门到精通

    11.1.2 编写一个简单的控件 11.1.3 将Web 窗体转换成用户控件 11.2 自定义控件 11.2.1 实现自定义控件 11.2.2 复合自定义控件 11.3 用户控件和自定义控件的异同 11.4 用户控件示例 11.4.1 ASP.NET 登录控件 11.4.2 ...

    JAVA课程设计题目及要求..doc

    四、考核办法 根据提交的设计论文(包括程序主要完成的功能、设计思路和框图、主要代码,程序中 有何创新,有何收获和所存在的不足以及需要改进的地方。,程序功能的实现(要求演示及 答辩进行考核: 无任何论文,无程序,...

    ASP.NET 3.5 开发大全11-15

    11.1.2 编写一个简单的控件 11.1.3 将Web窗体转换成用户控件 11.2 自定义控件 11.2.1 实现自定义控件 11.2.2 复合自定义控件 11.3 用户控件和自定义控件的异同 11.4 用户控件示例 11.4.1 ASP.NET登录控件 11.4.2 ASP...

Global site tag (gtag.js) - Google Analytics