Java编程准则

【重磅干货】介质损耗因数(tanδ)揭秘:如何精准定位材料劣化最严重的温度?附权威研究PDF! 是评估绝缘材料性能的核心指标,能直接反映材料内部能量损耗和微观结构变化。通过分析tanδ-温度曲线的峰值点,可精准定位材料劣化最严重的温度。:极化损耗峰值的温度点(如环氧树脂的80℃)是材料性能拐点,需重点关注!:图3对比了5种材料的tanδ-温度曲线,峰值温度差异高达50℃!在电力设备、电子元器件等领域,材料的老化与温度密切相关。:[《介质损耗峰值温度在设备寿命预测中的应用》]在不同温度下测量tanδ,绘制曲线图。:[《多材料介质损耗峰值温度对比研究》]:基于tanδ峰值温度开发的。 阅读详情

设计

 

1. 优雅需要付出代价。

2. 先求能动在求快。

3. 记住“各个击破”原理。

4. 区分class开发者和class使用者。

5. 当你撰写class时,试着给予明了易懂的名称,减少不必要的注解。

6. 你的分析和设计必须让系统中的classes保持最少,也必须让其public interface保持最少,以及

    让这些classes和其他classes之间的关联性(尤其是base classes)保持最少。

7. 让所有东西尽量自动化。

8. 在你撰写代码之前先写测试码,一边验证你的class是否设计完备。

9. 所有软件设计上的问题,都可以通过“引入额外的概念性简介层(conceptual)”加以简化。

10. 简介层(indirection)应该要有意义。

11. 让class尽可能微小而无法切割(atomic)。

12. 小心冗长的引数列(argument lists)。

13. 不要一再重复。

14. 小心switch语句或成串的if-else子句。

15. 从设计观点来看,请找出变动的事物,并使它和不变的事物分离。

16. 不要利用subclassing来扩充基本功能。

17. 少就是多。

18. 大声念出你的classes,确认它们符合逻辑。

19. 当你犹豫不决于继承(inheritance)或合成(组合,composition)时,请你

      问问自己,是否需要向上转型(upcast)为基础型别。

20. 运用数据成员来表示数值的变化,运用经过复写的函数(overrided method)来代表行为的变化。

21. 小心重载(overriding)。

22. 使用异常体系(exception hierarchies)。

23. 有时候简单的聚合(aggregation)就够了。

24. 试着从客户程序员和程序维护者的角度思考。

25. 小心“巨大对象并发症”。

26. 如果你得用某种丑陋的方式来达成某个动作,请将丑陋的部分局限在某个class里头。

27. 如果你得使用某种不可移植方式来达成某个动作,请将它抽象化并局限于某个class里头。

28. 对象不应仅仅只用来持有数据。

29. 欲从既有的classes身上产生新的classes时,请以组合(composition)优先考量。

30. 运用继承和函数覆写机制来展现行为上的差异,运用fields(数据成员)来展现状态上的差异。

31. 当心变异性(ariance)。

32. 注意继承上的限制。

33. 使用设计模式(design pattern)来减少“赤裸裸无加掩饰的机能(naked functionality)”。

34. 当心“因分析而导致的瘫痪(analysis paralysis)”。

35. 当你认为你已经获得一份优秀的分析、设计或实现时,请试着加以演练。

 

 

实现(implementation)

 

36. 一般来说,请遵守Sun的程序编写习惯。

37. 无论使用何种编程风格,如果你的团队能够加以标准化,那么的确会带来显著效果。

38. 遵守标准的大小写规范。

39. 不要自己发明“装饰用的”private数据成员名称。

40. 当你撰写通用性class时,请遵守正规形式(canonical form)。

41. 对于那些“取得或改变private数据值”的函数,请使用JavaBeans的“get”、“set”、“is”等命名习惯。

42. 对于你所撰写的每一个class,请考虑为它加入static public test(),其中含有class功能测试码。

43. 有时候你需要通过继承,才得以访问base class的protected成员。

44. 避免纯粹为了效率考量而使用final函数。

45. 如果两个classes因某种功能性原因而产生了关联(例如容器containers和迭代器iterators),那么

      请试着让其中某个class成为另一个class的内隐类(inner class)。

46. 任何时候你都要注意那些高度耦合(coupling)的classes。请考虑内隐类(inner classes)

      为程序撰写和维护带来的好处。

47. 不要成为“过早最优化”的牺牲品。

48. 让范围(作用域,scope)尽可能愈小愈好,这么一来对象的可视范围和寿命都将尽可能地小。

49. 使用Java标准程序库提供的容器。

50. 对一个强固的(robust)程序而言,每一个组成都必须强固。

51. 宁可在编译期发生错误,也不要在执行期发生错误。

52. 当心冗长的函数定义。

53. 尽可能保持“private”。

54. 大量运用注解,并使用javadoc的“注解文档语法”来产生程序的说明文档。

55. 避免使用“魔术数字”,也就是那种写死在程序代码里头的数字。

56. 撰写构造函数时,请考虑异常状态。

57. 如果你的class需要在“客户程序员用完对象”后进行清理动作,请将清理动作放到单一而定义明确的函数中。

58. finalize()只可用于对象死亡条件的检验,俾有益于调试。

59. 如果某个对象在某个特定范围(scope)内必须被清理(cleaned up),而不是被垃圾回收机制收回,

      请使用一下方法:将对象初始化,成功后立刻进入拥有finally子句的try区段块。finally子句会引发清理动作。

60. 当你在继承过程中腹泻了finalize(),请记住调用super。finalize()。

61. 当你撰写固定大小的对象容器,请将它们转换为数组——尤其是从某个函数返回此一容器时。

62. 在interface(接口)和abstract class(抽象类)之间,优先前者。

63. 在构造函数中只做唯一必要动作:将对象设定至适当状态。

64. 为了避免一个十分令人泄气的经验,请确认你的classpath中的每个名称,都只有一个未被放到

       packages里头的class。

65. 留意一不小心犯下的重载(overriding)错误。

66. 当心过早最优化。

67. 记住,程序代码被阅读的时间多于它被撰写的时间。

S32K144 ADC硬件触发+DMA传输实战:从寄存器配置到数据采集全流程 本文详细解析了S32K144微控制器中ADC硬件触发与DMA传输的协同工作机制,提供了从寄存器配置到数据采集的全流程实战指南。通过PDB定时触发ADC转换,并利用DMA实现数据自动搬运,构建了高效、实时的汽车级数据采集系统,有效释放CPU资源,满足汽车电子应用的严苛要求。 阅读详情

相关推荐

掌握Effective Java编程准则与实践

枚举(Enum)是一种数据类型,允许开发者定义一组具有预定义集合的常量。Java中的枚举类型是在Java 5中引入的,其声明方式与普通类类似,但有自己的语法和一些特殊的方法。在上面的例子中,Season是一个枚举类型,它具有四个预定义的实例:SPRINGSUMMERAUTUMN和WINTER。枚举的特性包括:类型安全:枚举提供了编译时的类型检查,因为不能将非枚举类型的值赋给枚举类型的变量。内置方法:枚举自动提供了如values()valueOf()

weixin_36427956的博客 840

Java编程规约(源于阿里,精简版)

命名的目标就是让人见名知义,因此要先统一格式,比如,看到大驼峰命名就知道是个类名,并且还需要让人知道是个什么类,所以在命名的时候应该避开不适当的缩写、拼音与英文混用 等问题。

Fearless____的博客 1530

探索编程准则与面向对象的哲学

本文探讨了在编程与软件开发中遵循准则的重要性,以及深入学习计算和编程知识对于生产出伟大软件的必要性。同时,文章也对Java语言及其与Scheme语言的不同进行了比较,探讨了计算学科的几个关键问题,并介绍了如何使用本书提供的资源进行进一步学习。

weixin_29363791的博客 389

通用编程准则

本文是我们名为“ 高级Java ”的学院课程的一部分。 本课程旨在帮助您最有效地使用Java。 它讨论了高级主题,包括对象创建,并发,序列化,反射等。 它将指导您完成Java掌握的过程! 在这里查看 ! 目录 1.简介 2.可变范围 3.类字段和局部变量 4.方法参数和局部变量 5.装箱和拆箱 6.接口 7.琴弦 8.命名约定 9.标准库 ...

最佳 Java 编程 237

第二节 java 编程规范准则

标识符可以用来标识变量名、类名、类中的方法名和文件名等。 命名规则: (1) 由字母、数字、下划线、$组成,不能以数字开头。 (2) 大小写敏感。 (3) 不得使用java中的关键字和保留字。 关键字:都是小写的,jdk1.2多了strictfp(经准浮点型),关键字 jdk1.4多了assert(断言)关键字,jdk1.5多了enum(枚举) 关键字。 true、fal...

u010642584的博客 234

java编程准则_使用Java 2参考类的准则

当在Java 2平台中首次引入包含SoftReference , WeakReference和PhantomReference类的java.lang.ref软件包时,其实用性可能被夸大了。 它包含的类可能是有用的,但是它们具有某些局限性,从而使它们的吸引力有所降低,并使它们的应用程序非常特定于一组已定义的问题。 垃圾收集概述 引用类的主要特征是能够引用仍可以由垃圾收集器回收的对象。 在...

cusi77914的博客 238

Thinking in Java 附录之编程准则

侯捷翻译这份附录所提供的建议,可以帮助你进行低阶的程序设计,并帮助你写码。当然,这些都只是一种方针而不是硬性规则。你应该视它们为一种灵感来源。记住,某些情况下你需要加以变通或甚至打破规则。设计1. 优雅需要付出代价。从短期利益来看,对某个问题提出优雅的解决方法,似乎可能花你更多的时间。但当它终于能够正确执行并可轻易套用于新案例中,不需要花上数以时计,甚至以天计或以月计的辛苦代价时,你会看得到先

sunsnowad的专栏 642

身份验证之绝对验证

import java.util.Calendar; import java.util.Scanner; public class ValidateID { /* * 我国现行使用公民身份证号码有两种尊循两个国家标准,〖GB 11643-1989〗和〖GB 11643-1999〗。 * 〖GB 11643-1989〗中规定的是15位身份证号码:排列顺序从左至右依次为:六位数字地址码,六

HelloJava1234的专栏 3448

身份证验证之简单校验

import java.util.Calendar; import java.util.Scanner; public class ValidateID { /* * 我国现行使用公民身份证号码有两种尊循两个国家标准,〖GB 11643-1989〗和〖GB 11643-1999〗。 * 〖GB 11643-1989〗中规定的是15位身份证号码:排列顺序从左至右依次为:六

HelloJava1234的专栏 3204

hibernate动态数据库进化版

hibernate动态数据库

HelloJava1234的专栏 2193

身份证验证之校验码算法验证

import java.util.Calendar; import java.util.Scanner; public class ValidateID { public static void main(String[] args) { ValidateID vid=new ValidateID(); System.out.println("输入身份证号码:"); Scanne

HelloJava1234的专栏 1950

对于求字符串中出现频率最高字符的算法实现

好久没写文章了,今天写了“求字符串中出现频率最高字符”的一个算法实现,代码中有非常详细思路注释 本算法只是此问题一种解法,还有许多需要改进的地方,但这是个人目前想到的比较好的解决方案 如有更好的解决方案,多谢指正! 以下代码仅供参考   import java.util.ArrayList; import java.util.Arrays; import java.util.Coll

HelloJava1234的专栏 1804

java操作pdf文件

要读取pdf文件,必须有pdfbox1.7.1.jar和fontbox1.7.1.jar,可以到官网下,也可以到我的资源里下,下面代码 import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import org.apache.pdfbox.pdmodel.PDDocument; im

HelloJava1234的专栏 1664

告别文章摘要的烦恼之博客系统

package com.chendaojun.util; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.sql.Connection; import java.sql.DriverMa

HelloJava1234的专栏 1090

720全景云系统 可生成小程序+带PC端+安装教程.zip

720全景云系统 可生成小程序+带PC端+安装教程.zip

上一篇: 四款5000元左右亲民热销超级本推荐
下一篇: 精彩博文收藏
coollor
博客等级 码龄15年 48粉丝 26原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值