当前位置:  技术问答>java相关

一个好的程序员该有些什么良好的习惯!!(高分酬谢)

    来源: 互联网  发布时间:2015-08-08

    本文导语:  比如在设计上,书写代码上,文档上等等该注意些什么?? 下面这个程序是一个jdbc-odbc连接sql,思想是连接mssql server,然后执行query语句,得到返回的结果集。  请问下面的程序在一个程序员该有的良好习惯方面有写...

比如在设计上,书写代码上,文档上等等该注意些什么??
下面这个程序是一个jdbc-odbc连接sql,思想是连接mssql server,然后执行query语句,得到返回的结果集。 
请问下面的程序在一个程序员该有的良好习惯方面有写什么问题??

package odbc;
import java.sql.*;
public class Odbc
{
    private static String  jdbcclass = "sun.jdbc.odbc.JdbcOdbcDriver";
    private static String  systemdsn = "sqlodbc";
    private static String  jdbcurl = "jdbc:odbc:"+systemdsn;
    private static String  address = "192.168.0.1:1433";
    private static String user = "temp";
    private static String  password = "temp";
    private Connection con = null;
    private Statement  stm = null;
    private ResultSet  res = null;
    Odbc(){
     try{
            Class.forName(jdbcclass);
            con = DriverManager.getConnection(jdbcurl,user,password);
            stm = con.createStatement();
                  
        }
        catch(Exception e){System.out.print(e.getMessage());}
        
    }
    public ResultSet query(String sql)
    {
        try
        {
            res = stm.executeQuery(sql);
           
        }
        catch(Exception e)
        {
            System.out.print(e.getMessage());
        }
        return res;
       
        
    }

    
    

  
}

|
1、jdbcurl,user和password不应该被hardcode在代码里,最好能够从config文件里读取,这样以后更改数据库所在机器地址账号和密码就很方便了
2、这样的工具函数最好能写一个完整的有数据库查询,删除,增加等功能的,并且每个功能函数最后还要有释放connection的代码
3、如果像我上面所说那样的话,Connection,Statement和ResultSet就不用写成全局变量了,只需要在每个功能函数里声明就可以了,这样做到函数之间功能独立,无不相干。

|
我觉得对数据库的操作可以进行封装,可以做一个能够产生Connection的专门类出来,然后程序通过该类进行取得Connection,当然了,最好是能够实现数据库的连接池,这样效率就很高了。

还有一点建议:不要是用面向对象的语言编写面向过程式的程序,这是使用语言的倒退。java就非常明显,在jsp中你可以直接操作数据库,但这是ASP的程序风格,在java中应该很好的运用面向对象的设计方法,这才是使用java最大的好处。

|
package odbc;

import java.sql.*;

public class Odbc
{
    
    Odbc( ){          
         init();
    }
    private void init(){
         //从配置文件中读取连接数据库信息
    }
 
    private Connect getConnect(){
         //得到连接
    }

    public getRecordSet(String sql){
         //得到结果集
    }

    public update(String sql){
         //更新数据库
     }

   public insertRow(String sql){
         //插入记录
   }

   ……

}

|
写java程序时
1 要到处是注释(要写的规范)
2 要层次清晰,适当的留有空格
3 要时刻提醒自己代码的规范
4 不要再一个方法里完成太多的功能
5 要对异常给与充分的注意与解决。
6 方法名,类名称的定义要合乎规范。
7 要用一些哗众取宠的技巧


|
每个功能块都加上注释以及逻辑说明
代码外观上要做到美观:具有较强的可读性
程序代码具有很强的健壮性,更多与设计相关,但代码上也有要求:空值防护,try块,return等以及书写风格

最好公司或者项目统一--难度有点大

|
编码要思路清晰

注释要多

编码风格要统一

文档多写点

|
最好的习惯是联想,打星际的时候不要想着我造了一条狗,应该是构造了一个狗的对象

|
在写文档的时候没有废话,让人一看就知道是怎么回事
没有难以理解的语句,除非必要!写的代码具有亲和力
让人想看了还想再看 看代码的人有一种酣畅的感觉,
我现在没有碰到这种人

|
package odbc;

import java.sql.*;

public class Odbc
{
    
    Odbc( ){          
    }
    
    
    /*实行SQL语句返回结果集*/
    public ResultSet query(String sql) throws Exception
    {
        String  jdbcclass = "";
        String  systemdsn = "";
        String  jdbcurl = "";
        String  address = "";
        String user = "";
        String  password = "";
        Connection con = null;
        Statement  stm = null;
        ResultSet  res = null;
       
        try
        {
         /*参数定义*/
         jdbcclass = "sun.jdbc.odbc.JdbcOdbcDriver";
         systemdsn = "sqlodbc";
         jdbcurl = "jdbc:odbc:"+systemdsn;
         address = "192.168.0.1:1433";
         password = "temp";
         user = "temp";
         
         Class.forName(jdbcclass);
         con = DriverManager.getConnection(jdbcurl,user,password);
         stm = con.createStatement();
         res = stm.executeQuery(sql);
         return res;   
        }
        catch(Exception e)
        {
            throw e;
        }
            }    

}

|
写代码的时候要想着可能几个月后还要修改,得添点说明别到时候忘了。命名
也要好,别到时候不记得了。文档要写好,实在是不记得了,还有条后路。

|
写代码的时候要想着可能以后要留给其他人来维护,多点注释,多点文档。
到时候,接手的人会打心眼里感谢你的。
我现在就是在接手其他人的程序,感触颇深。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 成为好程序员必须避免的5个坏习惯
  • 程序员的八种级别,你属于哪一级?
  • linux的程序员是不是比windows程序员的薪水高啊?
  • 程序员赚钱致富的6种方法
  • 在linux平台下的软件开发 需要什么样的程序员多一点啊 C.C++ 还是JAVA程序员阿???
  • 程序员为了健康必看!早晨空腹喝水,是对还是错?
  • Linux Kernel/Network 技术QQ群14888802,只加有内核开发、TCP/IP协议栈开发的程序员,不加新手和做应用开发的程序员。
  • 42岁程序员,今天我失业了,怎么办?
  • Linux程序员在公司里做什么程序?(Linux程序员请进)
  • 程序员跳槽前需仔细思考:你是否做到以下10点?
  • 42岁程序员,今天我失业了,怎么办? iis7站长之家
  • 必看!程序员升级之路,看了可以少走很多弯路
  • 调查:windows 程序员多还是 linux/unix 程序员多?
  • 对于一个程序员来说,学习linux程序设计和unix编程到底有什么好处
  • 我迷惑:做jsp,servlet算不算真正的JAVA程序员?要达到JAVA程序员的标准都要做哪方面的程序?
  • 请教所有java程序员和准程序员,说说吧!
  • 这里有没有在mac os下开发程序的程序员啊?
  • 一个老程序员的观点:Linux程序/内核设计是一门技术,Windows下的可扩展、可复用架构设计是一门艺术!
  • OSS让程序员怎么过?
  • 找程序员
  • linux程序员一般月薪多少?
  • 程序员文本编辑器 Minimum Profit


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3