首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/634848

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

Java编程——编写高质量代码的思考

前言 最近在看《代码大全》,可以说是一本软件开发的百科全书,特别厚,但是干货也很多。平时写代码,代码规范是一个最低的要求(很多老代码连最低要求都达不到),为什么要这样规定代码要这么写,而不是那么写?这是一个值得深究的问题。而不是说我照着代码规范写代码就算完了,高质量的代码是一个专业工程师的追求。要知其然知其所以然,最近写发票解析的代码,因为涉及带解析PDF的算法,复杂度比较高,所以花了很多时间在重构,学以致用的时候积累了一些心得。 信息隐藏原则 信息隐藏是面向对象设计的一个原则,是对封装和模块化的一个更高维度的概括。从Java的整个访问限制设计就体现了信息隐藏的原则,各种访问修饰符:public,protect,private,在类设计的时候,我们就要决定什么暴露给外部,什么隐藏起来。 举一个例子下面的代码表示一个有自增ID的Person类。 上面的类设计有什么问题呢?它违反了信息隐藏的原则,直接将ID分配的方式暴露了,这会给后面的维护带来很多问题:当你想给id的范围做出限制的时候怎么办?当你在所有代码中使用++G_MAX_ID分配ID时突然需要修改ID分配的算法怎么办?是...

JavaScript 中有用的 Array 和 Object 方法

我收听了一个很棒的语法FM播客,它总结了有用的JavaScript 数组和对象方法。这些方法可以帮助开发人员编写干净而且可读性高的代码。许多这样的方法可以减少像Lodash这样的实用程序库的依赖。 本文中的所有方法都是可链式调用的,这意味着它们可以相互结合使用,而且它们也不会发生数据突变,这在使用React时尤其重要。 使用所有这些数组和对象的方法,你将发现再也不需要再进行for或while循环来达到目的了。 .filter() 查看MDN文档 根据数组元素是否通过特定条件测试来创建新数组。 示例 创建一个符合法定饮酒年龄的学生年龄数组。 const studentsAge = [17, 16, 18, 19, 21, 17]; const ableToDrink = studentsAge.filter( age => age > 18 ); // ableToDrink 将等于 [19, 21] .map() 查看MDN文档 通过操作一个数组中的值来创建一个新数组。 这个方法非常适合数据操作,它经常用于React,因为它是一种不可变的方法。 示例 创建一个数组,在每个数...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册