加载中 ...

什么是坏代码?

2019-07-10 16:01:26 来源:沈阳小程序开发 作者:沈阳软件开发

不理解别人的代码是什么感觉?就像进入森林迷路一样。此时,您是否想要抓住编写代码的人并抓住它?这里有一些最难以忍受的。

1.标志位和全局变量太多

标志似乎使用起来非常方便,以便表达一个状态,但一旦它出现,就必须保持,什么时候被清除?什么时候设定?什么时候初始化?当表达式不简单时,如涉及另一件事,标志不易使用,会有很多地方要清除或设置他,一旦有地方忘记程序就会出问题。一两个迹象都还可以,别人看到更多的头晕,可以避免避免,不能真正避免它吗?等一下再写下来。过了一会儿,你会发现你可以使用它。

全局变量(这里指的是变量的基本类型,如int或char)与标志相同,过多只会引起头晕,应该在变量范围之前明确,如果范围只是在一个函数中,那么就没有必要在外面启动,直接在一个“静态”类型的函数中也可以,也许有时候没有找到这个变量可以在函数中写入静态,代码编写完成后,看看发现。在本文档中,相同的效果在本文档中定义为静态。

比单个文件中的全局变量更可怕的是跨越几个文件使用的变量,一个不注意看眼睛,心脏累了吗?如果变量实际上是在几个模块中读写的话怎么办?它可以在模块中定义为静态,然后读写接口函数来实现读写。

在我看来,没有这个可以使用全局变量。通常,涉及相同业务的变量被组合以形成结构中定义的结构。仅仅在这里开始一个全球结构就足够了,而不是单独的一个。变量分散在文件中的任何位置。

例如,当某些事情发生时,A模块将写入一个变量并让B模块读取它。此时,设置标志位和变量。当B模块找到标志位置时,它会读取变量。不是这种情况。这很好。 AB模块可以通过消息队列完全通信。 A模块只需要通过发送特定消息将变量值带到B模块,以便B模块在事件发生时获取此变量。

2,逻辑不够简单

一方面,逻辑的复杂性可能是产品的功能在设计上固有地复杂化;一方面,可能是编写程序的想法不明确,实现方法不简洁,而且代码是乱七八糟的,来自沈阳软件开发

ad.jpg

我杀了自己。如果这两个方面被占用,那几乎就是吐血的边缘。

如果功能逻辑复杂怎么办?如何编写代码应该做好计划,先想清楚不要急于写。

以我们的产品为例。将智能家居网关子设备绑定到网络的过程更加复杂。首先,移动APP搜索LAN中的子设备,并且网关接收搜索消息以打开zigbee子设备网络访问过程。网络访问成功后,子设备开始登录服务器进程。在此过程中,移动电话不断发送搜索消息。网关连续响应搜索消息,以通知子设备基本信息以及网络连接的哪个阶段(例如连接网关并登录服务器),直到子设备成功登录到服务器。获取登录ID号后,移动电话向服务器申请绑定子设备,整个过程结束。

反映在代码中,整个过程涉及三个线程,局域网线程,WAN线程,zigbee线程,zigbee线程需要与局域网,WAN线程同时进行通信,WAN线程可能需要与局域网线程进行通信,这种关系很简单太复杂。你无法想象原始代码是用一堆标志和变量完成的。你需要多次弄清楚,找出具有相似名称的变量是什么。

暂时怎么办,让我不要这样做,我不能这样做。我可以使用操作系统的消息队列,回调函数,信号量等来简化线程之间的通信。操作系统是为了让我们更简洁。本地代码!

3.不合理的功能设计

功能不是单一功能,这是一个非常容易的错误。有时函数被设计为执行函数,但随着产品函数的迭代升级,发现存在执行程序的另一种情况。不,所以我不得不在原始功能中添加一个段落。这导致函数具有多个函数:正常函数是原始函数,新情况是另一个函数。从函数名称开始,前面只有这个函数,但是隐藏了另一个函数。无论如何,它看起来有点不舒服。如果您有时间更改它,可以将其设计为两个功能。正常功能A,新情况。执行功能B.

功能细分是不合理的。哪些功能可以打包成一个功能?将重复使用的函数或程序中实现的代码太长,可以屏蔽细节。不要用几句代码写一个函数。不要在函数中写出很多不相关的东西。这个功能很臭,很长,让人失去耐心,然后把钥匙隐藏在某种旮旯性逻辑中。

嵌套调用太多层,如果A函数调用B函数,B函数调用C函数里面,C函数里面.晕不晕?

4.可读性差

恶魔数,例如数组的第5个元素减7,为什么是5?为什么是7?人们无法弄明白,他们可以将5和7定义为宏,并从宏的名称中定义它们的含义;

没有评论,这不用说,关键功能,关键逻辑应该适当注释,以便以后维护;

命名风格不统一。无论是变量,函数还是文件名,它都应该能够知道名称并保持相同的规则。例如,模块提供给其他模块的接口函数名称保存为“module name_function”。有一个功能,根据这个规则没有命名,它会影响阅读,处女座将无法接受它;另外,英文速记应尽量使用普通(如count缩写为cnt),而不是不受欢迎让别人看到了解。

汇海 Technology是领先的综合性软件和信息服务公司,为客户提供从软件开发到营销和推广的互联网解决方案,旨在成为业界领先的全链信息技术服务提供商。公司与中国移动,平安银行,南方数字,北大青鸟,西门子等行业巨头进行了全面深入的战略合作。深入涉足汽车,金融,电子商务,农业,教育等重点行业,不断开拓全国市场,为客户提供全方位的连锁服务。优质,高效,技术服务,综合优势和行业特色。武汉哪家公司做网站?武汉哪家公司做网站?哪家公司是网站?武汉着名的网站建设公司?武汉的武汉网站生产企业有哪些?武汉网站外包?武汉有哪些可靠的软件开发公司?武汉有哪些更好的app开发,微信开发和系统开发公司?如果您有这样的需求,请联系汇海技术,财富热线:027-86633307,我们将以专业的服务态度做到每一个需要,这是我们的目标,使每一个需要到极致!

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。