iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Java开发者需要知道的十条法则
  • 826
分享到

Java开发者需要知道的十条法则

2023-06-17 13:06:20 826人浏览 安东尼
摘要

本篇内容主要讲解“Java开发者需要知道的十条法则”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java开发者需要知道的十条法则”吧!1.给你的代码加注解每个人都知道这一点,但是总会有人忘记遵守

本篇内容主要讲解“Java开发者需要知道的十条法则”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java开发者需要知道的十条法则”吧!

1.给你的代码加注解

每个人都知道这一点,但是总会有人忘记遵守。你有多少次“忘记”加注解了?的却不加文字注解有助于程序的功能性。但是一次又一你返回两星期前写的代码,结果你想不起来那是什么了!如果这个未注解的代码确实是你写的那你就是幸运的了。因为在那些代码中可以唤起你的记忆。不幸的是,大多数的时候代码是别人写的,而且他已将离开了公司!有句谚语是这样说的“自己的事情自己做”。所以为了别人或是我们自己考虑,在你的代码上加上注解吧。

2.别把事情复杂化

开发者喜欢把简单的问题用很复杂的方法来解决。我们介绍EJBs到有五个用户的应用程序中。我们完成一个框架结构那是应用程序所不需要的。我们添加属性文件,目标源方案到本不需要这些东西的应用程序中。为什么我们要这样做呢?一些人是不知道如何去做,而一些人故意这么做是想去学习新的东西,想让我们感兴趣。对于那些不知道如何去做的人,我建议去向经验丰富的编程人员去询问。而对于那些喜欢把应用程序设计搞复杂的人,我的建议还是要更专业一些来处理问题。

3.记住—“少即是多”不见得是件好事。

—代码效率是件非常好的事情,但是很多情况下少写几行代码并不能提高代码工作的效率。举个简单的例子:

if(newStatusCode.equals("SD") && (sellOffDate == null ||  todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&  todayDate.compareTo(lastUsedDate)>0)) ||  (newStatusCode.equals("OBS") && (OBSDate == null ||  todayDate.compareTo(OBSDate)<0))){  newStatusCode = "NYP";}

查出“if”条件下在做什么是多么简单的事情?现在想象一下写这个代码的人,没有遵守***个规则-给代码加注解 。如果我们把这个情况分成两个独立的if语句岂不是更简单一些么?现在看一下修改后的代码:

if(newStatusCode.equals("SD") && (sellOffDate == null ||  todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&  todayDate.compareTo(lastUsedDate)>0))){  newStatusCode = "NYP";  }else if(newStatusCode.equals("OBS") && (OBSDate == null ||  todayDate.compareTo(OBSDate)<0))  {  newStatusCode = "NYP";}

是不是更清晰了?是的,我们在重复一下。我们有另一个“IF” 和两个额外的括号,但是这个代码更容易读懂了!

4.不要有难懂的代码

开发者经常忘记这一点或是忽略故意忽略这条规则,因为通常我们都在赶时间。但是如果我们能遵守这个规则,我们就不会终止我们所处的形势了。要花多长时间去写入另外一行***定义的静态变量代码呢?

举个例子:

public class A {  public static final String S_CONSTANT_ABC = "ABC";  public boolean methodA(String sParam1){  if (A.S_CONSTANT_ABC.equalsIgnoreCase(sParam1)){  return true;  }  return false;  }}

现在每当我们需要文字“ABC”和一些变量作比较,我们可以参考A.S_CONSTANT_ABC而不是回忆实际的代码是什么。在一个地方不断的修改要比在所有代码中寻找要容易得多。

5.不要发明自己的框架结构

有数以千计的框架结构而其大多数都是开放源。许多框架结构是被用在数以千计的应用程序中的优秀的解决方案。至少在表面我们需要用上新的框架结构。其中***的也是广发应用的框架结构的例子就是Struts.这个开放源WEB结果框架是一个非常好的候选者来用于web-based 应用程序。请不要用自己版本的Strut,你将会在尝试中死去。但是你必须记住规则2&mdash;别把事情复杂化。如果你的应用程序要开发3个screen-请不要用Struts,目前还没有像这样的应用程序的“控制”需求。

6.要对打印线和字符串串联说“不”

我知道在以调试为目,开发者喜欢到处在我们觉得适合的地方添加System.out.println.又自言自语的说一会儿我们会删除这些的。但是我们总是忘记删除这些代码行或者不想去删除它们。我们用System.out.println来进行测试,为什么我们在测试完成后才触及这些代码呢?我们可能会删除一行代码当我们确实要这么做的时候!只要你不要低估System.out.println 的破坏,看以下的代码:

public class BadCode {  public static void calculationWithPrint(){  double someValue = 0D;  for (int i = 0; i < 10000; i++) {  System.out.println(someValue = someValue + i);  }}  public static void calculationWithOutPrint(){  double someValue = 0D;  for (int i = 0; i < 10000; i++) {  someValue = someValue + i;}}  public static void main(String [] n) {  BadCode.calculationWithPrint();  BadCode.calculationWithOutPrint();  }}

在上面所显示的,你能观察到calculationWithOutPrint()用了0.001204秒运行。相比之下,用了惊人的10.52秒去运行calculationWithPrint() method.

(如果你想要知道如何制作这个的表格,请阅读我的文章题目是"Java Profiling with WSAD" Java Profiling with WSAD)

***的像避免CPU浪费的方法是去引用像这样的包装方法:

public class BadCode {  public static final int DEBUG_MODE = 1;  public static final int PRODUCTION_MODE = 2;  public static void calculationWithPrint(int logMode){  double someValue = 0D;  for (int i = 0; i < 10000; i++) {  someValue = someValue + i;   myPrintMethod(logMode, someValue);  }  }  public static void myPrintMethod(int logMode, double value) {  if (logMode > BadCode.DEBUG_MODE) { return; }  System.out.println(value);  }  public static void main(String [] n) {  BadCode.calculationWithPrint(BadCode.PRODUCTION_MODE);  }  }  String concatenation is another CPU waster. Consider example below:  public static void concatenateStrings(String startingString) {  for (int i = 0; i < 20; i++) {  startingString = startingString + startingString;  }  }  public static void concatenateStringsUsingStringBuffer(  String startingString) {  StringBuffer sb = new StringBuffer();  sb.append(startingString);  for (int i = 0; i < 20; i++) {  sb.append(sb.toString());}}

在以下的数据中能看到该方法用StringBuffer花了。01秒去执行而同时用字符串串联的方法用了。08秒去执行。选择是很明显的。

7.关注GUI

无论听起来有多么荒谬,我要一再指出的是GUI的功能和运行情况和商业客户是同等重要的。GUI是一个成功的应用程序的重要组成部分。 IT管理总是忽略GUI的重要性。许多机构省钱的方式是不雇用设计“user-friendly”应用程序有经验的网络设计师。Java开发者不得不依赖于他们自己的html技术和在此领域的那点局限性知识。我见过太多的应用程序是 “computer friendly”而不是 “ user friendly”。很少看到有开发者在软件开发和GUI开发两者都同样精通的。如果你是那个不幸的被指定去创建一个应用程序界面的Java开发者,你可以遵循这三个规则:

不要重新发明车轮。寻找现有的有类似接口需求的应用程序。

先创建个雏形。这是非常重要的步骤。客户想要看到他们能得到些什么。这样对你来说是有意的,是因为在你全力以赴工作之前可以得到客户的要求并且可以创建一个应用程序界面,这样可以让客户冷静下来。

带上用户的帽子。换句话说,就是需要从用户的角度来检查应用程序的需求。例如,一个总结性的screen可以用标页的方式来创建。作为一个软件开发人员,允许从应用程序中忽略标记很让人恼火,因为它确实有一点复杂。但是,从客户的角度来看,可能不是很好的解决方案,因为总结的结果可以容纳数百个数据行。

8. 时刻准备文件需求

每一商业需求都要记录在案。这个在一些童话故事里是正确的,但是远离了现实世界。无论你的开发有多么的时间紧迫,无论你的***期限要求的多么严格,你必须确保每个商业需求都是被记录在案的。

9.单元测试。

单元测试,单元测试&mdash;我就不详细的说明什么是做你的代码单元测试的***方法。我只是想说的是必须要这么做。这是编程中最基本的规则。这是一个首先就不能被忽视的规则。如果你的下一个开发人员可以创建并为你的代码执行测试计划,那是在是太棒了。但是如果不可能,那你必须自己来做。建立一个单元测试计划,遵循以下这些基本规则:

在写代码之前为分类测试写一个单元测试计划。

在单元测试中获取代码注解。

执行一个“有趣的”功能测试所有的公开的方法(也就是说,没有获得者和设置者,除非他们用一些独特方法来进行他们的获取和设置。)

10. 记住质量,不是数量;不要呆得太晚(如果你不需要这么做)。

我理解有时候产品问题,紧迫的***期限和不希望发生的一些事情会阻止我们不能按时离开工作岗位。但是,经理们是不会感谢和报答他们的员工因为他们总是呆得时间太长,他们感谢员工是因为他们做了高质量的工作。如果你遵循以上所提到的这些规则,你将会发现你产生很少的bug,获得更多的可维护的代码。这是你工作中最重要的部分。

到此,相信大家对“Java开发者需要知道的十条法则”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Java开发者需要知道的十条法则

本文链接: https://www.lsjlt.com/news/289247.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java开发者需要知道的十条法则
    本篇内容主要讲解“Java开发者需要知道的十条法则”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java开发者需要知道的十条法则”吧!1.给你的代码加注解每个人都知道这一点,但是总会有人忘记遵守...
    99+
    2023-06-17
  • Bash文件编程算法:Java开发者需要知道的关键知识点?
    Bash文件编程是一种非常强大的工具,它可以帮助开发者自动化执行一些重复性的任务。对于Java开发者来说,掌握Bash文件编程算法是非常有必要的,因为这可以帮助他们更高效地管理和部署Java应用程序。在本篇文章中,我们将介绍一些Bash文...
    99+
    2023-06-25
    bash 文件 编程算法
  • PHP开发者需要知道的最佳存储实践
    在开发 PHP 应用程序时,存储和管理数据是至关重要的一步。无论你是在开发一个小型博客还是一个大型电商网站,你需要知道如何最好地存储和管理数据,以确保你的应用程序的可靠性和稳定性。本文将介绍 PHP 开发者需要知道的最佳存储实践,包括数据...
    99+
    2023-11-01
    ide shell 存储
  • 实时响应的Git:Java开发者需要知道什么?
    Git是一个广泛使用的版本控制系统,它允许开发者跟踪代码变化并协作开发。在Java开发中,Git已经成为了一个不可或缺的工具。然而,随着软件开发的不断进化,开发者需要更快、更实时的响应Git的变化。在本文中,我们将探讨实时响应的Git,以...
    99+
    2023-10-13
    git 实时 响应
  • 对象重定向和并发:Java开发者需要知道的关键点
    Java是一种面向对象的编程语言,在开发过程中,对象重定向和并发是两个非常重要的概念。在本文中,我们将深入探讨这两个概念,并给出一些关键点,帮助Java开发者更好地理解和应用它们。 对象重定向 对象重定向是指将一个对象引用指向另一个对象的...
    99+
    2023-10-15
    对象 重定向 并发
  • Java开发中需要知道的基础知识有哪些
    这篇文章将为大家详细讲解有关Java开发中需要知道的基础知识有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java 是一个多功能的编程语言,在某种程度上,它用在几乎所有可能涉及计算机的行业了里。Ja...
    99+
    2023-06-02
  • Python新手需要知道的5条知识点
      1.什么是PEP8  PEP8是一个编程规范,内容是一些关于如何让你的程序更具可读性的建议。  其主要内容包括代码编排、文档编排、空格的使用、注释、文档描述、命名规范、编码建议等。  2.什么是pickling和unpickling  ...
    99+
    2023-06-02
  • 学习 NumPy 对象编程:PHP 开发者需要知道的关键点。
    学习 NumPy 对象编程:PHP 开发者需要知道的关键点 NumPy 是 Python 中用于科学计算的重要库,它提供了高效的多维数组对象和各种数据操作函数。对于 PHP 开发者来说,学习 NumPy 对象编程是非常有益的,因为它可以帮助...
    99+
    2023-07-07
    对象 numpy numy
  • 异步编程接口:ASP开发者需要知道的关键信息。
    异步编程接口:ASP开发者需要知道的关键信息 随着互联网的不断发展,越来越多的应用程序需要高效地处理大量的数据和请求。在这种情况下,异步编程接口成为了ASP开发者必须掌握的关键技能之一。本文将介绍异步编程接口的基本概念、用途以及ASP开发者...
    99+
    2023-10-01
    windows 异步编程 接口
  • JavaScript和Python:你需要知道的开发技巧。
    JavaScript和Python:你需要知道的开发技巧 JavaScript和Python是两种广泛应用于Web开发、数据科学等领域的编程语言。这两种语言各自有其独特的特点和用途,但它们也有很多相似之处。在本文中,我们将介绍一些JavaS...
    99+
    2023-08-08
    apache npm javascript
  • Bash数组索引:Go语言开发者需要知道的关键信息
    在Bash编程中,数组是一种非常有用的数据结构。它可以存储多个值,并且可以通过索引来访问这些值。在本文中,我们将介绍Bash数组的一些关键信息,以及Go语言开发者应该知道的一些技巧和技术。 Bash数组的定义和初始化 在Bash中,可以使...
    99+
    2023-06-21
    bash 索引 数组
  • Java开发者必须知道的Apache容器开发技术?
    Java开发者必须知道的Apache容器开发技术 Apache容器是一种流行的Java应用程序开发环境,它提供了一个可扩展的框架,使开发人员能够轻松地开发和部署Java应用程序。在这篇文章中,我们将介绍一些Java开发者必须知道的Apach...
    99+
    2023-09-28
    apache 容器 开发技术
  • Java容器编程算法:您需要知道的开发技术是什么?
    Java容器编程是Java开发中的重要技术之一。它是基于Java的集合框架,为Java程序员提供了非常方便的数据结构和算法。但是,要想成为一名优秀的Java开发人员,您需要了解Java容器编程的开发技术。本文将为您介绍Java容器编程中需...
    99+
    2023-08-08
    容器 编程算法 开发技术
  • Apache重定向:Java开发人员需要知道的数据类型
    Apache重定向是一种非常重要的功能,它可以帮助Java开发人员更好地控制网站流量和安全。在这篇文章中,我们将深入探讨Apache重定向以及Java开发人员需要知道的数据类型。 Apache重定向的基本原理是将来自一个URL的请求重定向到...
    99+
    2023-07-21
    apache 重定向 数据类型
  • Angular开发者需要学习哪些知识点
    小编给大家分享一下Angular开发者需要学习哪些知识点,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一款to-do app基本等同于前端开发的“Hello world”。虽然涵盖了创建应用程序的CRUD方面,但它通常只涉...
    99+
    2023-06-14
  • 实时响应和Git:Java开发者必须要知道的知识点?
    实时响应和Git:Java开发者必须要知道的知识点 Java开发者在日常工作中经常需要与实时响应和Git打交道。实时响应可以提高应用程序的性能,Git则是现代软件开发的核心工具。本文将介绍Java开发者必须要知道的实时响应和Git知识点,并...
    99+
    2023-10-13
    git 实时 响应
  • Java核心API需要掌握的十一条准则分别是什么
    Java核心API需要掌握的十一条准则分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java核心API需要掌握的十一条准则如下:java.lang包下...
    99+
    2023-06-17
  • Java开发者必须知道的Apache容器技术?
    Java开发者必须知道的Apache容器技术 随着互联网的不断发展,Java已经成为了主流的编程语言之一。在Java开发过程中,Apache容器技术是必须要掌握的。本文将介绍什么是Apache容器技术以及如何在Java开发中使用它。 什么是...
    99+
    2023-09-28
    apache 容器 开发技术
  • Shell命令和文件操作:Java开发者需要掌握的知识
    在Java开发中,Shell命令和文件操作是我们经常需要用到的技能。Shell命令可以帮助我们更快地完成一些任务,而文件操作则是Java开发中不可或缺的一部分。本文将介绍一些Java开发者需要掌握的Shell命令和文件操作技巧。 一、Sh...
    99+
    2023-09-04
    重定向 shell 文件
  • path 存储面试必备技能:ASP 开发者需要知道的全部内容!
    ASP 是一种用于动态网站开发的技术,它可以让开发者轻松地创建交互式网站和应用程序。作为一名 ASP 开发者,掌握必备技能是非常重要的,下面我们来详细了解一下。 HTML 和 CSS 在学习 ASP 之前,了解 HTML 和 CSS 是...
    99+
    2023-11-14
    面试 path 存储
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作