编程中你注意过这些细节吗?

简介: 阅读本文大概需要3分钟。

1. 保证程序的健壮性:在编程的过程中,我们需要保证对输入的每一个参数合法性进行检查。特别是这些常见的异常。比如:空指针和数组下标越界。


2. 保证线程的安全性和可见性:在高并发的情况下,如果对多线程的理解不够深入的话,就会出现各种稀奇古怪的问题。因此,我们需要在潜意识里面保证每一行代码的正确性。


3. 尽早断言:在函数传入的参数或者程序状态变化时,尽早捕获一切可能存在的异常,比如参数的判断、io流的关闭等。


4. 不要轻易忽略异常:在编码的过程中,除非是必须要处理的异常,一般将它继续抛出。不要随意try/catch;更不要轻易吃掉异常。


5. 明确可靠操作和不可靠操作:在编码的过程中,除非是必须要处理的异常,一般将它继续抛出。不要随意try/catch;更不要轻易吃掉异常。


6. 缩小可变域,尽量final:一个类可以成为不变类,就优先将它设计成不变类。对于可变类,从构造函数传入的引用,在类中作为属性,最好将字段设置成final,以免被中途误修改引用,造成未知异常。


7. 提高代码的可测性:程序能够容易被测试的难易程度。测试用例的单一性(只测目标类本身)和隔离性(不传染失败)。


8. 规范的注释


你也许跟我一样,面临过如下场景:


  • 当你经过一段时间后,发现哪儿出问题或需要调整功能的时候?
  • 当你去改别人代码的时候(你的代码也会被别人改)?
  • 当你需要补一些设计文档的时候?


因此,我们需要在编码的过程中规范自己的注释,以下的注释主要针对IDEA的开发环境。


  • File and Code Templates

image.png


  • Live Templates

image.png

说明:需要设置DATE和TIME参数的值。


程序猿大师一般都要经历的三重境界,看看你现在处在那一层?

image.png

相关文章
|
存储 搜索推荐 数据挖掘
使用selenium库模拟浏览器行为,获取网页的cookie值
使用selenium库模拟浏览器行为,获取网页的cookie值
|
Android开发
Android实现语音播报的两种方式
Android实现语音播报的两种方式
771 0
|
Oracle 关系型数据库 MySQL
Flink CDC产品常见问题之flink Oraclecdc 捕获19C数据时报错错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
弹性计算 固态存储 大数据
2024阿里云服务器租用价格表(一年/按月/按小时报价明细)
阿里云服务器2024年最新租用价格表显示,轻量应用服务器2核2G3M带宽一年82元(约6.8元/月),2核4G4M带宽轻量服务器一年298元。新老用户共享99元一年的2核2G3M带宽ECS经济型e实例服务器与199元一年的企业专享2核4G5M带宽ECS u1实例服务器优惠。4核16G10M带宽游戏服务器70元/月,8核32G10M带宽160元/月。GPU服务器如gn6v和gn6i等提供新用户专享折扣。续费折扣方面,续费一年享有7.5折,续费五年则有3折优惠。按小时计费的云服务器ECS实例中,如ecs.u1-c1m4.large(2核8G)每小时0.45元。
30841 17
|
存储 缓存 NoSQL
缓存、分布式缓存和持久化
这篇内容介绍了缓存的概念和Redis的作用,以口袋与公文包的比喻解释了缓存如何提高数据访问速度。Redis是一个内存中的高级缓存系统,能提升系统响应速度。接着讨论了为何需要分布式缓存,通过多个“篮子”(Redis节点)解决单点故障和性能瓶颈,保证高可用性和数据安全性。最后提到了Redis的两种持久化机制——RDB(定期数据快照)和AOF(记录写操作日志),分别用照片备份和实时同步来比喻,说明它们在数据丢失风险和恢复速度上的权衡。
|
存储 负载均衡 NoSQL
【分布式技术架构】「Tomcat技术专题」 探索Tomcat集群架构原理和开发分析指南
【分布式技术架构】「Tomcat技术专题」 探索Tomcat集群架构原理和开发分析指南
390 1
|
Java API
Java从入门到精通:2.1.4深入学习Java核心技术——Java的输入输出流
Java从入门到精通:2.1.4深入学习Java核心技术——Java的输入输出流
172 1
|
算法 计算机视觉 Python
OpenCV高斯滤波器、双边滤波器的讲解与实战(附Python源码)
OpenCV高斯滤波器、双边滤波器的讲解与实战(附Python源码)
713 0
|
消息中间件 人工智能 运维
云原生产品免费试用领取攻略,看看有哪些新玩法?
云原生产品免费试用领取攻略,看看有哪些新玩法?
11646 1
输出整数各位数字
输出整数各位数字
173 0