全站资源开放下载,感谢广大网友的支持
链接失效请移步职业司平台
非盈利平台

非盈利平台

只为分享一些优质内容

Java帮帮-微信公众号

Java帮帮-微信公众号

将分享做到极致

微信小程序

微信小程序

更方便的阅读

职业司微信公众号

职业司微信公众号

实时动态通知

安卓APP

安卓APP

我们从此不分开

程序员生活志-公众号

程序员生活志-公众号

程序员生活学习圈,互联网八卦黑料

支付宝赞助-Java帮帮社区
微信赞助-Java帮帮社区

代码工作中的关键一环:结构化代码该怎样做?【云图智联】

2
发表时间:2020-07-06 10:39

免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/

作为代码工作中至关重要的一环,代码结构化是颇具难度的。要想写出结构良好的代码,编写者需要具有正确的思维方式,对设计模式有自己的理解,还得拥有丰富经验。通常情况下,要想培养上述能力,你要走的路可不少。

代码结构化的重要性不应被低估,从可读性和可维护性的角度来看,代码结构非常重要。



经验1:提前设计

在着手编写代码之前,你最好考虑一下对将要构建的应用程序进行提前设计,统一建模图表(UML diagrams)就是个不错的选择。在编写代码之前,如果提前有计划在手,编写者可以更加专注。通过提前思考代码的结构,创建一些有用的UML图表,许多明显缺陷都可以提前避免。

更重要的是,制定计划能让我们认识到,在编写代码前还有许多需要编写者思考的事情。UML图还可以防止代码编写者“思想游离”,并且防止编写者在代码里添加自认为将来会派上用场的非必要功能。

不做计划就急着开始,在最初你能跑得快一点儿,但跳过这个步骤最终会使你不得不对大量代码进行重构,进而消耗大量时间和动力。记住,欲速则不达。

经验2:类与函数准则

以下准则可以帮助你保持类与函数的可读性及可维护性:

  • 使类与函数尽可能地小

  • 类与函数应遵循单一职责原则

保证类与函数尽可能小可以使代码更容易理解。一般来说,较大的类和函数应被分解为较小的专门化类别。

遵循单一责任原则可以帮助你保持类和函数在较小的级别,即每个类、每个函数只做一件事。但注意,要在合理范围内划分得“小”,因为多数情况下,过多的细小分类反而要比几个大类糟糕得多。把函数分成“获取、处理及存储数据”这样的大型函数是行不通的。你必须将此函数分成三个较小的函数:分别用于提取、处理和数据存储。

经验3:使用设计模式

了解设计模式及其工作方式可以帮助你编写出更加结构化、更具可读性与可维护性的代码。如果你清楚在哪些情况下可以使用哪种设计模式,就不必非得自己想解决办法了,你只需遵循设计原则就可以保持代码的整洁。

不过要注意,不要过度使用设计模式,这是使用这种方法时最常见的陷阱。尽管在特定情况下可以使用设计模式,但过度使用设计模式对编写者来说有弊无利,它会使应用过度机械化,其他开发人员会很难理解代码。

经验4:代码规范

代码结构化在很大程度上与代码规范有关。对于每个项目来说,代码规范都是必要,如果没有代码规范,代码变得团团乱以至难以阅读是迟早的事。

我们可以列出代码规范清单,记录下声明变量的方法、命名规范等。你可以无限向列表中添加规则,规则的数量也是可以变化的,只列出对你和对你的团队有帮助的规则便可。团队成员也可以随时向规范列表中添加或移除规则。

制定好规范清单后,就坚持照做吧!

经验5:编写单元测试

编写单元测试能产生不错的预期外的效果,它让你必须对代码进行结构化处理。为了能够编写出单元测试,至少要保证代码的结构是正确的。

也许你以前听说过或者编写过不可测试代码,如果有哪段代码让你不知道该如何编写单元测试的话,可能是因为这段代码功能过多,或者写得太差。

不管是上述两种情况的哪一种,只有一个原因会导致代码无法测试,那就是糟糕的结构。遇到不可测试的代码时,你会发现自己大部分时间都用在了重构上。单元测试便可以作为一种限制,使你必须将代码进行结构化处理。

代码工作中的关键一环:结构化代码该怎样做?

图源:unsplash

实现代码结构化有好些方式。在你键入第一个代码字母之前就开始了,包括提前考虑应用程序的设计、创建帮助编写者消除明显缺陷的UML图等。

只要你准备编写代码,就应该确保拥有一份可以遵守的代码规范表。学习使用设计模式也可以进一步帮你实现这个目标。同时,你还需保持类与函数单位较小,并且让这些类与函数只做一件事。最后,要养成编写单元测试的习惯,不这样做最终只会得到一堆不可测试的代码。

要更认真地对待代码结构化了!

免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/


Java帮帮学习群生态

Java帮帮学习群生态

总有一款能帮到你

Java学习群

Java学习群

与大牛一起交流

大数据学习群

大数据学习群

在数据中成长

九点编程学习群

九点编程学习群

深夜九点学编程

python学习群

python学习群

人工智能,爬虫

测试学习群

测试学习群

感受测试的魅力

Java帮帮生态承诺

Java帮帮生态承诺

一直坚守,不负重望

初心
勤俭
诚信
正义
分享
友链交换:加帮主QQ2524138991 留言即可 24小时内答复  
业司
满吉教育资讯
会员登录
获取验证码
登录
登录
我的资料
留言
回到顶部