- 浏览: 1910087 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
jquery打印指定的div -
GentlemanQc:
...
quartz系列(二)spring3.2.5与quartz2.1.7集群版集成简要说明 -
静夜独窗:
你好,能说一下server.xml增加的配置是怎么影响性能的吗 ...
tomcat7.0性能优化-挑战极限精简版 -
beyondfengyu:
beyondfengyu 写道如果每个客户进程的时间不同步,时 ...
java并发(二十二)分布式锁 -
beyondfengyu:
如果每个客户进程的时间不同步,时间超前的进程是不是更容易得到锁 ...
java并发(二十二)分布式锁
向更高层次迈进!养成良好的习惯与技巧.结合本人的经验和理解,总结出了以下良好的开发习惯和技巧,向更高层次迈进!本人会经常更新此贴,希望朋友们一起热烈的讨论,共同进步,开心交流^-^
1.注释 为代码加注释,是一个良好的习惯。随着时间的流逝,有的时候,自己加的注释可能都记不清楚了。为代码加注释,既是为了自己,也是为了他人。笔者在接管同事代码的时候,就出现过“无注释”的代码段,维护起来真是痛苦之极。
2.知识管理 把开发中,解决的难题,小demo,小心得,都沉淀下来。为以后开发提供宝贵的参考。所谓:“公预善其事,必先利起器”,“磨刀不误砍柴工”。好多人干了若干年开发,仍然是在重复以前的的工作,就是因为没有把知识管理、积累起来。可以发发论坛,既是贡献别人,也是为自己积蓄能量。自己整理笔记以后要是碰到了类似的问题,没必要废脑细胞去思考,而是把精力集中在更高层次的目标上,这样是不是更好呢?
3.格式化代码 使用Eclipse或者其他基于eclipse开发的收费开发工具的朋友都知道,ctrl+shift+f可以格式化代码,自动为你对齐。这也是个很良好的习惯。这样代码直观看上去,会很舒畅。方便自己,方便他人。当然,只自动的格式化设置也不是最理想的效果,有些地方还是需要手工的去缩进代码,要使用tab来缩进,而不是空格.这样代码看上去会很清晰.
4.良好的命名规范和编程规范 随着软件工程和软件开发技术的发展,现在行业内出现了许多命名和编程规范。但有些规范还是通用的。
1)驼峰式命名;
2)英文单词命名,尽量避免中文拼音和无意义的命名;
3)不要使用goto语句;
针对JAVA语言,更有一些特定的命名规范:
1) 包名:简单,小写
2) 类,接口:首字母大写
3) 方法:首字母小写,驼峰式命名
4) 常量:全部大写,单词之间用下划线分隔
5) 局部变量:一般都是单词首字母或者缩写
6)……
5.闹钟定时休息 身体是革命的本钱,有的时候短短10分钟的休息,可以大大的提高你的工作效率并缓解你的压力。上午10点,下午15点左右,是不是该休息休息呢?即使是晚上奋战,那更应该注意平时规律的休息。
6.懂得分享和感恩 在论坛上看到别人写的好帖,要懂得感恩;自己有了心得体会,要懂得与人分享.这样才能构造一个良好的学习交流环境.
7.编程小技巧 有时候在面试的时候,你回经常被测试去做非常easy的小程序?但你知道其中的奥妙有多少呢?其实一个是看你的编程思路,一个是看你的代码规范,更重要的是看你是否老练。
1)空字符串判断
String obj = null;
System.out.println("".equals(obj)); // 推荐,老程序员都会这么写来回避NullPointerException
System.out.println(obj.equals(obj)); // 空指针异常
2)指定具体的Exception,而不是所有异常的捕捉方式都一样。如果在面试中,考官让你写个非常非常简单的JDBC连接程序,你会觉得这么easy的程序还考我?其实你并没有领会到其中的奥妙,你写完的程序和下面的对比之后,你会得到什么启发呢?是不是具体的Exception捕捉,看上去程序逻辑更清晰一些呢?
import java.sql.*;
public class TestJDBC {
public static void main(String[] args) {
ResultSet rs = null;
Statement stmt = null;
Connection conn = null;
try {
Class.forName(" oracle.jdbc.OracleDriver ");
// new oracle.jdbc.driver.OracleDriver();
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:TEST , scott , tiger");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from dept ");
while (rs.next()) {
System.out.println(rs.getString("deptno"));
System.out.println(rs.getInt(" deptno"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
rs = null;
stmt = null;
conn = null;
e.printStackTrace();
}
}
}
}
3)字符串拼接尽量使用 StringBuffer 的append方法来拼接。而直接使用”+”来连接String类型。会增加内存和CPU的开销。String字符串拼接的原理如下 String str1 = “a”; String str2 = “b”; str1 = str1 + str2; 内存上,他先会开辟出一个新的内存空间,存放str3 = str1+str2,然后再把str3的引用交给str1.如果使用StringBuffer呢?则是在str1后面“接”上的,完成过程只后str1,str2俩个对象。 CPU上,想必写个循环1000次的拼接程序,大家就会明显的看出来吧。下面代码,运行看看吧。
//1秒=1000毫秒
public class Test {
public static void main(String[] args) {
String str = "";
StringBuffer sb = new StringBuffer();
long start = 0L;
long end = 0L;
start = System.currentTimeMillis();
for (int i = 0; i < 9999; i++) {
str = str + "a";
}
end = System.currentTimeMillis();
System.out.println("使用string的时间是:" + (end - start) + "毫秒!");
start = System.currentTimeMillis();
for (int i = 0; i < 9999; i++) {
sb.append("a");
}
end = System.currentTimeMillis();
System.out.println("使用StringBuffer的时间是:" + (end - start) + "毫秒!");
}
}
4)能实现接口的,就不要去继承类,以内接口可以多继承.具备更好的扩展性.比如多线程的Runnable接口和Thread类的选择,我们就应该选择实现接口,而不是去继承类.
5)尽量少使用System.out.println();我们知道,数据库在处理数据的时候,一次处理几十万,甚至百万,千万条是经常出现的。下面的例子可以看出,打印的IO操作,是很浪费资源的.
public class Test {
public static void main(String[] args) {
String str = "";
StringBuffer sb = new StringBuffer();
long start = 0L;
long end = 0L;
start = System.currentTimeMillis();
for (int i = 0; i < 999; i++) {
str = str + "a";
System.out.println(str);
}
end = System.currentTimeMillis();
System.out.println("使用打印的的时间是:" + (end - start) + "毫秒!");
start = System.currentTimeMillis();
for (int i = 0; i < 999; i++) {
str = str + "a";
}
end = System.currentTimeMillis();
System.out.println("没有用打印的的时间是:" + (end - start) + "毫秒!");
}
}
我就是这么干的。还习惯性用纸笔画流程,忽忽。。。
1.注释 为代码加注释,是一个良好的习惯。随着时间的流逝,有的时候,自己加的注释可能都记不清楚了。为代码加注释,既是为了自己,也是为了他人。笔者在接管同事代码的时候,就出现过“无注释”的代码段,维护起来真是痛苦之极。
2.知识管理 把开发中,解决的难题,小demo,小心得,都沉淀下来。为以后开发提供宝贵的参考。所谓:“公预善其事,必先利起器”,“磨刀不误砍柴工”。好多人干了若干年开发,仍然是在重复以前的的工作,就是因为没有把知识管理、积累起来。可以发发论坛,既是贡献别人,也是为自己积蓄能量。自己整理笔记以后要是碰到了类似的问题,没必要废脑细胞去思考,而是把精力集中在更高层次的目标上,这样是不是更好呢?
3.格式化代码 使用Eclipse或者其他基于eclipse开发的收费开发工具的朋友都知道,ctrl+shift+f可以格式化代码,自动为你对齐。这也是个很良好的习惯。这样代码直观看上去,会很舒畅。方便自己,方便他人。当然,只自动的格式化设置也不是最理想的效果,有些地方还是需要手工的去缩进代码,要使用tab来缩进,而不是空格.这样代码看上去会很清晰.
4.良好的命名规范和编程规范 随着软件工程和软件开发技术的发展,现在行业内出现了许多命名和编程规范。但有些规范还是通用的。
1)驼峰式命名;
2)英文单词命名,尽量避免中文拼音和无意义的命名;
3)不要使用goto语句;
针对JAVA语言,更有一些特定的命名规范:
1) 包名:简单,小写
2) 类,接口:首字母大写
3) 方法:首字母小写,驼峰式命名
4) 常量:全部大写,单词之间用下划线分隔
5) 局部变量:一般都是单词首字母或者缩写
6)……
5.闹钟定时休息 身体是革命的本钱,有的时候短短10分钟的休息,可以大大的提高你的工作效率并缓解你的压力。上午10点,下午15点左右,是不是该休息休息呢?即使是晚上奋战,那更应该注意平时规律的休息。
6.懂得分享和感恩 在论坛上看到别人写的好帖,要懂得感恩;自己有了心得体会,要懂得与人分享.这样才能构造一个良好的学习交流环境.
7.编程小技巧 有时候在面试的时候,你回经常被测试去做非常easy的小程序?但你知道其中的奥妙有多少呢?其实一个是看你的编程思路,一个是看你的代码规范,更重要的是看你是否老练。
1)空字符串判断
String obj = null;
System.out.println("".equals(obj)); // 推荐,老程序员都会这么写来回避NullPointerException
System.out.println(obj.equals(obj)); // 空指针异常
2)指定具体的Exception,而不是所有异常的捕捉方式都一样。如果在面试中,考官让你写个非常非常简单的JDBC连接程序,你会觉得这么easy的程序还考我?其实你并没有领会到其中的奥妙,你写完的程序和下面的对比之后,你会得到什么启发呢?是不是具体的Exception捕捉,看上去程序逻辑更清晰一些呢?
import java.sql.*;
public class TestJDBC {
public static void main(String[] args) {
ResultSet rs = null;
Statement stmt = null;
Connection conn = null;
try {
Class.forName(" oracle.jdbc.OracleDriver ");
// new oracle.jdbc.driver.OracleDriver();
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:TEST , scott , tiger");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from dept ");
while (rs.next()) {
System.out.println(rs.getString("deptno"));
System.out.println(rs.getInt(" deptno"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
rs = null;
stmt = null;
conn = null;
e.printStackTrace();
}
}
}
}
3)字符串拼接尽量使用 StringBuffer 的append方法来拼接。而直接使用”+”来连接String类型。会增加内存和CPU的开销。String字符串拼接的原理如下 String str1 = “a”; String str2 = “b”; str1 = str1 + str2; 内存上,他先会开辟出一个新的内存空间,存放str3 = str1+str2,然后再把str3的引用交给str1.如果使用StringBuffer呢?则是在str1后面“接”上的,完成过程只后str1,str2俩个对象。 CPU上,想必写个循环1000次的拼接程序,大家就会明显的看出来吧。下面代码,运行看看吧。
//1秒=1000毫秒
public class Test {
public static void main(String[] args) {
String str = "";
StringBuffer sb = new StringBuffer();
long start = 0L;
long end = 0L;
start = System.currentTimeMillis();
for (int i = 0; i < 9999; i++) {
str = str + "a";
}
end = System.currentTimeMillis();
System.out.println("使用string的时间是:" + (end - start) + "毫秒!");
start = System.currentTimeMillis();
for (int i = 0; i < 9999; i++) {
sb.append("a");
}
end = System.currentTimeMillis();
System.out.println("使用StringBuffer的时间是:" + (end - start) + "毫秒!");
}
}
4)能实现接口的,就不要去继承类,以内接口可以多继承.具备更好的扩展性.比如多线程的Runnable接口和Thread类的选择,我们就应该选择实现接口,而不是去继承类.
5)尽量少使用System.out.println();我们知道,数据库在处理数据的时候,一次处理几十万,甚至百万,千万条是经常出现的。下面的例子可以看出,打印的IO操作,是很浪费资源的.
public class Test {
public static void main(String[] args) {
String str = "";
StringBuffer sb = new StringBuffer();
long start = 0L;
long end = 0L;
start = System.currentTimeMillis();
for (int i = 0; i < 999; i++) {
str = str + "a";
System.out.println(str);
}
end = System.currentTimeMillis();
System.out.println("使用打印的的时间是:" + (end - start) + "毫秒!");
start = System.currentTimeMillis();
for (int i = 0; i < 999; i++) {
str = str + "a";
}
end = System.currentTimeMillis();
System.out.println("没有用打印的的时间是:" + (end - start) + "毫秒!");
}
}
评论
4 楼
mrlee09
2010-06-13
:“公预善其事,必先利起器”,“
你字写错了
你字写错了
3 楼
binbinhu1987
2010-06-13
![](/images/smiles/icon_eek.gif)
我就是这么干的。还习惯性用纸笔画流程,忽忽。。。
2 楼
LD_21
2010-06-13
![](/images/smiles/icon_idea.gif)
1 楼
wwwlyxwww
2010-06-12
看了你的文章,马上去改自己的代码区了,谢谢了
发表评论
-
evernote international无法同步、无法登陆问题
2020-04-24 11:10 1345今天在记录日记的时候,发现印象笔记evernote国际 ... -
云计算
2019-10-18 12:53 432好久没写文章了,这个图把iaas,paas,saas说的很透彻 ... -
CentOS/RHEL 5/6/7上安装svn1.8
2017-04-06 09:02 1414CentOS/RHEL 5/6/7上安装svn1.8 1)安装 ... -
chrome开发javaee服务端常用插件
2015-10-28 15:51 964Advanced REST client:调试http插件 h ... -
java职业生涯规划
2015-10-03 10:10 1321只上一个图,你就明白 参考文章 http://blog.s ... -
关闭 TSVNCache.exe 进程
2015-04-05 09:55 2896在Windows下使用SVN,通常都会安装Tortoi ... -
eclipse中alt+/失效解决办法
2014-02-26 13:56 11301、Eclipse下进入Windows ->Preper ... -
svn-强行忽略与externals
2013-12-12 08:45 1455提交文件,强行添加SVN忽略的文件 svn add * --f ... -
关于技术和业务
2013-12-10 10:27 0没有架构师,没有技术经理,没有代码评审。一说纯技术,就用系统进 ... -
ab的用法
2013-12-09 20:19 1017带head的请求,URL要用单引号,否则会报错 ./ab -n ... -
关于研发过程中的思路
2013-07-04 10:10 1434一般我们在研发过程中,控制会议,会遇到很多问题。有些人看的很长 ... -
如果你迷茫,请看看学习路线
2013-06-05 10:12 1601技术一定要俩头抓, 往下深谙原理(语言, 汇编, 内存 ... -
软件追求的几个特性
2012-12-07 00:00 1367看了大话设计模式,里面总结的挺精辟 可维护性:改只需要修改的 ... -
几种比较有特点的项目管理模式
2012-09-17 14:31 2315第一种 thoughtworks 有好多工程师,分DEV,QA ... -
windows自动关机
2012-06-21 17:34 1510Windows XP的定时关机命令是由Shutdown.exe ... -
Eclipse中@author的修改
2012-06-01 11:42 1862换了电脑后eclipse中的@author变了,于是找了下 ... -
firefox开发javaee服务端常用插件
2012-02-15 17:52 1705CSS调试插件:Web Developer 客户端UA模拟插件 ... -
REST关键原则
2011-09-21 14:40 1542REST(Representational State ... -
算法3-递归
2011-08-04 23:13 1200/** * 时间:2010-02-07 * @au ... -
算法2-大数相乘
2011-08-04 23:09 1450import java.io.*; //数据类封 ...
相关推荐
- **预防措施**:建立良好的工作习惯和团队文化,鼓励及时修复问题。 #### 7. DRY原则 (Don’t repeat yourself) DRY原则强调的是代码的重用性,避免重复劳动: - **代码重用和共享**:利用现有的库和框架,避免...
最后,文档齐全是良好开发习惯的重要组成部分。数据库设计文档应包括ER图、表结构、索引设计、存储过程和触发器等,便于团队协作和后期维护。 总的来说,阿里巴巴的数据库设计开发规范旨在提供一套系统化、标准化的...
《软件开发流程管理规范标准》是一份详细的文档,旨在为软件开发团队提供一套标准化的流程管理规范,确保项目高效、有序地进行。...同时,这样的规范也有利于培养团队成员的良好开发习惯,促进团队的专业化发展。
在C#编程中,遵循良好的命名规则和开发习惯对于代码的可读性、可维护性和团队协作至关重要。本文将深入探讨C#中的命名规范和一些常见的开发习惯。 首先,我们来看一下C#中的命名样式: 1. **PascalCase**:这种...
作为一名Delphi程序员,养成良好的开发习惯至关重要,这不仅能够提高代码质量,还能提升开发效率,确保项目的稳定性和可维护性。以下是一些核心的Delphi开发习惯: 1. **模块化编程**:将大型项目分解为小的、独立...
3. **良好开发习惯与企业文化理解**:通过实践,学生将培养良好的软件开发习惯,并对企业文化有所了解。 4. **掌握结构化数据流分析技术**:学会使用结构化数据流分析技术来设计和分析软件系统。 5. **掌握结构...
此外,研究还旨在帮助学生养成良好的学习习惯,促进学生主动学习,提高学习效率,开发学生潜能,为学生的终身开展奠定良好的根底,同时促进教师的专业化开展,促进学校教育教学质量的持续开展。 本课题的研究旨在...
同时,家庭教育中道德教育和行为习惯的培养常被忽视,家长们过于关注智力开发和特殊技能的学习,而忽略了生活中的教育机会。 培养幼儿良好的生活习惯,需要家长在日常生活中以身作则,从细节出发,引导幼儿形成并...
良好的学习习惯能提高学习效率,开发学生的潜能,促进他们主动学习并形成正确的数学观念。这不仅有助于当前的学习,还能为学生的终身学习打下坚实基础,对个人全面发展和素质提升有深远影响。 非智力因素,如动机、...
C#是一种广泛使用的面向对象的编程语言,遵循...遵循以上编程习惯,可以提升代码质量,使得代码更易于理解和维护,进而提高软件开发的效率和稳定性。在实践中不断积累经验,你会发现这些习惯将使你的编程生涯受益匪浅。
一个优秀的开发团队中,每个成员都需要掌握一些核心习惯,以确保他们能够高效地工作,并交付高质量的软件产品。本文将详细介绍高质量软件开发人员必备的五大习惯,以期为读者提供一些实用的指导和启发。 首先,高...
家长对子女的期望提高,但有时过于注重知识灌输和智力开发,忽略了非智力因素如习惯养成。 2. **家庭教育差异**: 由于不同地区家庭教育方式的差异,如城乡、外地与本地家庭,幼儿可能表现出不同的行为习惯,有些...
标题中的“程序员的45个良好习惯”是一个旨在提升编程技能和团队协作效率的指南,描述强调了通过培养良好的习惯来提高自身编程水平,成为优秀的程序员。这些习惯涵盖了态度、学习、开发流程、用户、编程、调试和团队...
此外,我们将研究并开发有效的教育方法和途径,以达到促进幼儿良好行为习惯养成的目的。 研究方法方面,我们将采取行动研究法、问卷调查法、观察法和个案研究法等多种手段。通过这些方法,我们能全面把握幼儿行为...
在当代教育的实践中,素质教育已经成为教育改革的重要方向,而良好行为养成习惯教育无疑是素质教育发展的必由之路。素质教育不仅关注学生的知识掌握,更注重学生品格的塑造、潜能的开发和个体的全面发展。在这一过程...
在IT行业中,C++是一种广泛使用的编程语言,尤其在企业团队开发中,遵循一定的编程规范至关重要。这不仅可以提高代码的可读性...在实践中不断学习和调整,将这些规范融入到日常编码习惯中,是每个C++开发者必备的素养。
在编程世界中,遵循良好的命名规范和开发习惯是至关重要的,尤其对于C#开发者来说,这些规范能够提高代码的可读性、可维护性和团队协作效率。以下是对"C#_命名规范与开发习惯"主题的详细解读: 1. **命名规范**: ...
良好的编程习惯是每个C语言开发者必须掌握的技能,它能提高代码质量,降低出错率,使得代码更易于阅读和维护。"C语言良好习惯之规范共2页.pdf"这份资料,虽然只有短短的两页,但很可能包含了关键的编程指导原则。 ...
"代码大全全新讲义和良好编程习惯"这个主题聚焦于提升编程技能,确保代码的可读性、可维护性和效率。这是一份综合性的学习资料,旨在帮助开发者养成良好的编程习惯,从而提高整体的编程素养。 首先,我们来看"代码...
在IT行业的学习与实践中,掌握良好的编程习惯是提升个人技能、优化代码质量的关键。本文将根据给定的文件信息,深入解析《C及C++学习:学好VC++的十大良好习惯》中的核心知识点,旨在帮助程序员培养高效、规范的编程...