前言
这个2020年是多灾多难的一年,作为被困在家无所事事的普通老百姓我来说,憋得实在难受,想想在学校的过去时间是如此之珍贵,此刻如此虚度,甚是愧疚,于是觉得不能在闲着了,重操旧业,检查论文的同时记录博客。
记录博客,话题是一个关键,对于我来说,肯定是与HDL相关的东西;其次是对自己有用,这是初衷,当然也要有一定的启发作用,能让别人闲着无事翻到我的文章,有所帮助,那更好不过了。
前段时间在学校忙里偷闲写了HDLBits相关的博客,完成一个系列是有成就感的,至少是自己坚持去做了某一件事,对自己也是一种鼓舞。对我来说,意义不仅在于此,对于像我请教如何学习FPGA来说,我不用过于多费口舌,我提供一些学习的工具、文章等途径,让其自学,再好不过。我不会去手把手再去对一个人提供指导,这是血与泪的总结,当你付出了精力,付出了时间等等,却最终让自己“困惑”?这是多么痛的领悟。
这次选择《FPGA之道》这本书作为话题来源,是因为这本书确实和我有缘,当我研究生一(二)年级在图书馆遇到这本庞然大书之时,我便喜欢上了这本书了。喜欢不仅仅是其内容上的细致,每读一遍,每翻阅一张都会让人思考,这绝对是一本付出了心血的一本书,对于经常写博客的人来说,我能体会到这一字一字的诚意。我曾试图联系此书作者(当然我知道作者肯定不会搭理我的),我对这本书在市场上的绝迹深表遗憾,也希望作者能与时俱进,增加一些新的内容。令我备受鼓舞的是作者在我研三的时候给我回了邮件,并给了我一本电子版图书,真是意外,没有这个电子版,我也不会在此刻阅读这本书,更不会更新这一系列博客,因为我在老家,我不可能带着这本上千页的书回家。
代码风格
如果不是出于某种目的让代码生涩难懂,何不让自己的代码更加“人性化”?
如作者所说,HDL代码风格是FPGA设计的“脸面”,更是FPGA设计者的“脸面”,要不要脸,自己选择。
在这一点上,如果能留下风格简洁易懂的代码,确实能留下赞誉,而不是被人称为“坑货”?
当别人给我发送他的代码的时候,如果代码风格整齐系统,我会对此人很有好感,否则,除非不得不看,我是不屑一顾的。
一个比较实在的场合,例如找工作的时候,作为FPGA工程师以及IC工程师来说,代码能力的考察几乎不可避免,此刻如果写出的代码邋遢不堪,不仅让人怀疑功力,而且就算能力还行,也会有所顾虑。
具体的代码风格
这一段内容直接引用:
养成良好代码风格的第一步:要整齐。对,整齐是编写代码最基本的一个要求,也是最好做到的。无论是编程也好还是写作也罢,“整齐的”看上去总比“杂乱的”要好得多。因此,在培养自己良好代码风格习惯的最开始,要尽量注意将代码写的整齐一些。
养成良好代码风格的第二步:要统一。如果你已经能够做到写出整齐的代码,那么下一步就可以尝试去写统一的代码了。统一的代码首先是整齐的,但它不仅仅是整齐的,因为统一还代表了一种规律,即同样的写法代表的意义相同或相似。
养成良好代码风格的第三步:要易懂。如果你已经能够做到写出统一的代码,那么下一步请尝试去写出易懂的代码吧。易懂的代码肯定是统一的代码,但它不仅仅是统一的,因为易懂的代码要求它隐含的所有规律都是非常容易扑捉的,并且这些规律可以方便的辅助人们去更加容易、更加快速的理解代码。
养成良好代码风格的第四步:要精简。在增强代码易懂性的同时,代码规模也不可避免的被膨胀。那么这些膨胀中,有一些是必须的,而另外有一些肯定是冗余的。因此,代码精简的一个作用就是去掉这些冗余,不过,这还远不是代码精简的主要目的。自古以来,文学大家都是言简意赅的,因为一句话能说明白的事情你用了两、三句才说清,这只能说明你概括能力太差。因此,我们在进行程序设计的时候也是一样,随着自己水平的提高,也要不断地去优化自己的代码,让自己写出的代码尽量的简洁、干练。
整体、统一、易懂、精简,可以说这是良好代码风格形成的四个必经阶段,请一步一步的走过去,相信你会磨砺出适合自己的“宝刀”!
我的总结
从上段文字中可以看出,作者提出了层层递进的代码风格,也是形成良好代码风格的一个过程。
纵观互联网,也许对于良好代码风格的总结各有不同,但是如果你按照这样的方式形成自己的代码风格,无论是面对面试还是实践,绝对都是没有问题的。
- 整齐,是基本要求,例如alway块内的begin,,,end要有自己的方式排列吧。写一段组合逻辑或者一段时序逻辑,提前把格式摆好,不仅可以利用这段时间整理思路,至少也不会最后遗忘吧。
- 统一,关于统一是对整齐的进一步升华,整齐并不一定代表统一,但是统一的代码一定是整齐的。
- 易懂,易懂的代码也一定是统一的,这是对思路上的要求。
- 精简,在易懂的同时,尝试做到精简是对自己的进一步要求,这是水平提升的见证。
额,就这样吧,打游戏去了。