精华内容
下载资源
问答
  • Java编程开发好不好学?怎么写出完美优秀代码?编程是一件创造性的工作,是一门艺术。精通任何一门艺术,都需要很的练习和领悟。一些宝贵的经验可以给我们指出一些正确的方向,让我们少走一些弯路,做到一分耕耘...

    Java编程开发好不好学?怎么写出完美优秀代码?编程是一件创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟。一些宝贵的经验可以给我们指出一些正确的方向,让我们少走一些弯路,做到一分耕耘一分收获。在Java代码编写的过程中,想要编写出更加完美,更加优秀的代码,下面一同来看看吧。

    1、注释尽可能全面

    对于方法的注释应该包含详细的入参和结果说明,有异常抛出的情况也要详细叙述;类的注释应该包含类的功能说明、作者和修改者。

    2、多次使用的相同变量建议归纳成常量

    多处使用的相同值的变量应该尽量归纳为一个常量,方便日后的维护。

    3、尽量少的在循环中执行方法调用

    尽量在循环中少做一些可避免的方法调用,这样可以节省方法栈的创建。例如:

    for(int i=0;i

    System.out.println(i);

    }

    可以修改为:

    for(int i=0,size=list.size;i

    System.out.println(i);

    }

    4、常量的定义可以放到接口中

    在Java中,接口里只允许存在常量,因此把常量放到接口中声明就可以省去public static final这几个关键词。

    5、ArrayList和LinkedList的选择

    这个问题比较常见。通常程序员应当能够对list的使用场景做出评估,然后根据特性作出选择。ArrayList底层是使用数组实现的,因此随机读取数据比LinkedList快很多,而LinkedList是使用链表实现的,新增和删除数据的速度比ArrayList快不少。

    6、String,StringBuffer和StringBuilder

    这个问题也比较常见。在进行字符串拼接处理的时候,String通常会产生多个对象,而且将多个值缓存到常量池中。例如:

    String a=“a”;

    String b=“b”;

    a=a+b;

    这种情况下jvm会产生三个对象。而且字符串拼接的性能也很低。因此通常需要做字符串处理的时候尽量采用StringBuffer和StringBuilder来。

    7、包装类和基本类型的选择

    在代码中,如果可以使用基本数据类型来做局部变量类型的话尽量使用基本数据类型,因为基本类型的变量是存放在栈中的,包装类的变量是在堆中,栈的操作速度比堆快很多。

    8、尽早的将不再使用的变量引用赋给null

    这样做可以帮助jvm更快的进行内存回收。当然很多人其实对这种做法并不感冒。

    9、在finally块中对资源进行释放

    典型的场景是使用io流的时候,不论是否出现异常都应该在finally中对流进行关闭。

    10、在HashMap中使用一个Object作为key时,要注意如何区分Object是否相同在jdk的HashMap实现中,判断两个Object类型的key是否相同的标准是hashcode是否相同和equals方法的返回值。如果业务上需要对两个数据相同的内存对象当作不同的key存储到hashmap中就要对hashcode和equals方法进行覆盖。

    只要你的技术能够满足企业的需要,你就能拿到满意的薪资。如果你真的想要学好Java编程开发,可以选择专业的学习,让自己更好的进入编程行业。

    展开全文
  • 作者的意见是适当的注释是需要的,但不要重复代码不好注释还不如不注释。总结性的,描述意图的注释注释,它会告诉读者代码所没有提供的信息,是我们的目标。而另一大目标就是写出自注释代码,无比清晰,...

    说到注释,总是有争论要不要注释,有人喜欢尽可能多的注释,有人根本不写注释。作者的意见是适当的注释是需要的,但不要重复代码,不好的注释还不如不注释。总结性的,描述意图的注释是好的注释,它会告诉读者代码所没有提供的信息,是我们的目标。而另一大目标就是写出自注释的代码,无比清晰,根本不需要注释。这样可以大大节省读注释的时间,分析注释与代码是否一致的时间,从而提高效率。

    具体的方法有很多,

    篇幅原因,这里不一一列举了,可以参考下面的checklist去检查。

    Checklist: Self-Documenting Code

    Classes

    • Does the class's interface present a consistent abstraction?
    • Is the class well named, and does its name describe its central purpose?
    • Does the class's interface make obvious how you should use the class?
    • Is the class's interface abstract enough that you don't have to think about how its services are implemented? Can you treat the class as a black box?

    Routines

    • Does each routine's name describe exactly what the routine does?
    • Does each routine perform one well-defined task?
    • Have all parts of each routine that would benefit from being put into their own routines been put into their own routines?
    • Is each routine's interface obvious and clear?

    Data Names

    • Are type names descriptive enough to help document data declarations?
    • Are variables named well?
    • Are variables used only for the purpose for which they're named?
    • Are loop counters given more informative names than i, j, and k?
    • Are well-named enumerated types used instead of makeshift flags or boolean variables?
    • Are named constants used instead of magic numbers or magic strings?
    • Do naming conventions distinguish among type names, enumerated types, named constants, local variables, class variables, and global variables?

    Data Organization

    • Are extra variables used for clarity when needed?
    • Are references to variables close together?
    • Are data types simple so that they minimize complexity?
    • Is complicated data accessed through abstract access routines (abstract data types)?

    Control

    • Is the nominal path through the code clear?
    • Are related statements grouped together?
    • Have relatively independent groups of statements been packaged into their own routines?
    • Does the normal case follow the if rather than the else?
    • Are control structures simple so that they minimize complexity?
    • Does each loop perform one and only one function, as a well-defined routine would?
    • Is nesting minimized?
    • Have boolean expressions been simplified by using additional boolean variables, boolean functions, and decision tables?

    Layout

    • Does the program's layout show its logical structure?

    Design

    • Is the code straightforward, and does it avoid cleverness?
    • Are implementation details hidden as much as possible?
    • Is the program written in terms of the problem domain as much as possible rather than in terms of computer-science or programming-language structures?

    除了自注释的代码,还有不少地方我们不得不用到注释,比如变量定义,头文件,等等。下面这份checklist详细列举了我们在注释的时候要注意的事项,可供注释的时候参考。

    Checklist: Good Commenting Technique 

    General

    • Can someone pick up the code and immediately start to understand it?
    • Do comments explain the code's intent or summarize what the code does, rather than just repeating the code?
    • Is the Pseudocode Programming Process used to reduce commenting time?
    • Has tricky code been rewritten rather than commented?
    • Are comments up to date?
    • Are comments clear and correct?
    • Does the commenting style allow comments to be easily modified?

    Statements and Paragraphs

    • Does the code avoid endline comments?
    • Do comments focus on why rather than how?
    • Do comments prepare the reader for the code to follow?
    • Does every comment count? Have redundant, extraneous, and self-indulgent comments been removed or improved?
    • Are surprises documented?
    • Have abbreviations been avoided?
    • Is the distinction between major and minor comments clear?
    • Is code that works around an error or undocumented feature commented?

    Data Declarations

    • Are units on data declarations commented?
    • Are the ranges of values on numeric data commented?
    • Are coded meanings commented?
    • Are limitations on input data commented?
    • Are flags documented to the bit level?
    • Has each global variable been commented where it is declared?
    • Has each global variable been identified as such at each usage, by a naming convention, a comment, or both?
    • Are magic numbers replaced with named constants or variables rather than just documented?

    Control Structures

    • Is each control statement commented?
    • Are the ends of long or complex control structures commented or, when possible, simplified so that they don't need comments?

    Routines

    • Is the purpose of each routine commented?
    • Are other facts about each routine given in comments, when relevant, including input and output data, interface assumptions, limitations, error corrections, global effects, and sources of algorithms?

    Files, Classes, and Programs

    • Does the program have a short document such as that described in the Book Paradigm that gives an overall view of how the program is organized?
    • Is the purpose of each file described?
    • Are the author's name, email address, and phone number in the listing?
    展开全文
  • 答案其实很简单,只要能从代码本身迅速推断出事实就没必要写注释,或者遇到不好的名字时而为它写注释,而是想方设法更这个名字,即好代码>坏代码+好注释,这是不需要注释的场景当有段代码写成这样而不是...

    注释的关键思想是为了尽量帮助读者了解得跟作者一样多

    那什么时候用到注释,什么时候不用到注释呢?

    答案其实很简单,只要能从代码本身迅速推断出事实就没必要写注释,或者遇到不好的名字时而为它写注释,而是想方设法更好这个名字,即好代码>坏代码+好注释,这是不需要注释的场景

    当有段代码写成这样而不是那样的时候,需要一种注释其中的缘由(即指导性批注)

    遇到代码有缺陷时也应该加上TODO或者XXXX这类的标志

    定义一个常量的时候,可以注释其中的内部背景

    为普通读者遇到的意外的地方加上注释

    用注释总结代码块,以防读者迷失在细节中


    那如何写好言简意赅的注释呢?

    注释应该写越明确和细节越好,且注意注释的紧凑性(即注释应当有很高的信息率和空间率)



    展开全文
  • 离开原来的公司后,就没有用过CSLA,这几天整理...整理贴出了几个重要部分有注释代码注释是一年前写的,理解的可能不好。  代码下载:CSLA3.0中文学习演示程序1.2.rar  压缩文件中包含了一个txt 的版本说

    离开原来的公司后,就没有用过CSLA,这几天整理文档,发现了当时我给同事做培训时候的代码,代码中附有注释,附加数据库即可运行。是学习CSLA的好工具。 
    现在已经是3.8了,没有研究过,3.0.5这个版本是很经典的

    整理贴出了几个重要部分有注释的代码 ,注释是一年多前写的,理解的可能不好。 
    代码下载:CSLA3.0中文学习演示程序1.2.rar 
    压缩文件中包含了一个txt 的版本说明,打开程序的时候提示的企业服务全局Key的密码是:saaaaa
    建议:购买一个C# 2008 业务对象的书再下载这个源码来看 
    image

     

     

    下面是也重要代码的粘贴:

      
    1.CSLA.Net 3.0.5 项目管理示例 业务基类 Project.cs

    2.CSLA.Net 3.0.5 项目管理示例 业务集合基类(ProjectResources.cs,ProjectResource.cs)

    3.CSLA.Net 3.0.5 项目管理示例 只读集合基类(ResourceList.cs,ResourceInfo.cs)

    4.CSLA.Net 3.0.5 项目管理示例 名值列表基类、只读基类、业务负责人基类

    5.CSLA.Net 3.0.5 项目管理示例 UI RolesEdit.aspx

    6.CSLA.Net 3.0.5 项目管理示例 UI ProjectList.aspx

    7.CSLA.Net 3.0.5 项目管理示例 UI ProjectEdit.aspx

    此文转摘自:CSLA.Net 3.0.5 版本 教学程序,代码附教学注释 - Yan YAN(闫妍) - 博客园
    http://www.cnblogs.com/finehappy/archive/2009/09/13/1565698.html

    展开全文
  • 第五章 该写什么样的注释关键思想:注释的目的是尽量帮助读者了解得和作者一样。当你写代码时,你的脑海里会有很有价值的信息。...不要为了注释注释不要给不好的名字加注释--应该把名字改 ...
  • 现在很站长所经营的网站都挂有很联盟广告,但是同一个广告位不好同时挂几个联盟广告,下面我来给大家写一点简单JS广告随机显示代码; 如我有5个联盟广告代码,我想随机显示一个怎么做呢?如下代码: //这个...
  • C#任务线程下载组件(源代码

    热门讨论 2007-11-01 19:20:42
    (方法都在,代码没调,就先注释掉了) (就是保存当前下载信息,下次重新读取,最简单的做法就是序列化,要用到的自己改改调调就成) 2、自定义下载窗体; (就像 MessageBox.Show() 一样,已经做了一个简单的...
  • 代码规范写法

    2020-05-19 11:37:10
    普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码。如何写出优雅整洁易懂的代码是一门学问,也是软件工程实践里重要的一环。笔者推荐三本经典的书籍《代码...不要给不好的名字加注释,一个的名字.
  • 代码简洁之道

    2020-04-14 22:14:17
    1.命名要有意义 ...需要注释基本可以代表代码整体的表达能力不好,可读性不好,wtf太 能用命名解决的就不要用注释 拒绝喃喃自语、多余的废话注释注释掉的代码 4.格式 每行不要太长,不超过1...
  • 代码互审报告

    2014-10-22 10:42:00
    (1) 代码注释较少,虽然有一些注释,但很关键代码没有注释,不好看懂 (2) 代码中,if else嵌套过多,有时候逻辑很难分清,不宜阅读。 (3) 正则表达式表达不好,在分离出来后还需要判断是不是单词。容易...
  • 缘由:工作几年后,看到身边的同事(包括自己)写的代码往往都是面向过程编码的样子。我自己写的时候,能感受到代码写的面向过程,...这种代码风格不好之处长方法,导致不可读,程序员,不敢修改代码不可复用的,重...
  • 很久没有写java代码,这次发现Spring2.5+hibernate3.2可以像EJB使用注释 我不是什么告诉,Spring2.0 都没看过 我原来学的是1.2 而且公司都是框架封装的 也没什么时间可以深究学习,E文有不好 o(∩_∩)o......
  • “同一个文件里面代码多,且一个小函数里面做的事情太,并且没有注释它到底是为了什么而做这一步,短短的6行代码,都是为别处的函数做伏笔,没法判断每一行的目标。” 变量的来源不好追踪、变量定义后的用途不明...
  • 我在次的算法比赛中遇到了蛇型矩阵问题都没有做出来,今天我在《算法竞赛入门经典》这本书上看到了,一段优美的...当然我在上面加了一些注释,以便大家更的学习理解这个代码。 #include<stdio.h&g...
  • 好注释,不如先写好代码。 如果你发现自己需要协助时,再想想看是否有办法翻盘,用代码来表达。 为啥不好啊? 因为注视会撒谎,也不是说总是如此或有意如此,但出现的实在太频繁。注释存在的时间越久,就离其所...
  • 但JS不好调试,代码多了也会严重影响速度,当你在为提高了用户体验,做出了很绚丽的效果而欣喜的时候,是否想过优化一下JS的效率,大网站的JS都做了压缩处理。JS的速度分为两种,下载速度和执行速度。要想JS的下载...
  • 使用MASM-代码风格(1)

    千次阅读 2009-08-17 15:09:00
    在编程中,在程序排版、注释、命名和可读性等问题上都有一定的规范,虽然编写可读性良好的代码并不是必然的要求(世界上还有难懂代码比赛,看谁的代码不好读懂!),但代码风格实际上是为
  • 这份代码是我构建计算机...代码注释格式不怎么,容错性不好,扩展性一般,所以后期将进行很持续的修改,主要在容错性上,以及变量的识别上做改进。 对于构建计算机系统这个工程来说,最近的里程碑是构建计算机
  • 可见在VB里一个算法好不好,不能仅仅从理论上看,一个差一点但实现简单的算法和一个好一点但实现上复杂的算法在VB里谁好谁坏很难说。所以从实践意义上,ShellSort的确是个不错的算法。 无论ShellSort还是qsort,...
  • 下列标签都自动生成,可是唯狂项选择中的第四题,选择选项时得到的值中会有一个"on", [b]项选择中的@@@题选择时出现on不明白望高手指定迷津!谢谢[/b] ...
  • 团队分享 React 整洁代码最佳实践 作为开发人员不能仅仅满足于代码可以...代码应该是自文档的,我们不应该对一些显而易见的代码进行注释,而是为了解释复杂的想法,文章还对比了注释不好注释之间的差异...
  • CnPack (非常的DELPHI辅助工具)

    热门讨论 2006-01-13 09:51:35
    我想,不需要我做太解释,大家也能理解开发CnPack的意义:1、对程序员用户而言,首先,开发包所有文档、注释都将使用中文编写,这对很E文不好的程序员来说绝对是一件好事。其次,技术支持和学习交流将变得方便,...

空空如也

空空如也

1 2 3 4 5 6
收藏数 117
精华内容 46
关键字:

代码注释多好不好