五年老程序七个步骤,告诉你如何写出像艺术品一样的代码

有一些人,每天都能够准时下班,每次功能上线出bug的次数极少,出现bug之后能够非常快速地定位到问题所在迅速修复。

有一些人,每天都在加班中度过,每次功能上线的时候就心惊胆战,随时担心自己负责的功能出现bug,出现bug后不知道如何快速修复,经常由于自己负责的功能bug重重导致整个团队一起加班。

![在这里插入图片描述](https://img-blog.csdnimg.cn/0620d5d637b9485db31fc8041c9343d7.png五年老程序七个步骤,告诉你如何写出像艺术品一样的代码_第1张图片

后一种人,其实也非常想把代码写好,但是他们也很无奈,自己已经写的很努力了,但就是不知道为什么总是会出现这样那样的问题,于是开始怀疑自己,是不是自己没有写代码的天赋

其实,事实的真相并不是他们没有写代码的天赋,而是没有写代码的认知。


我们先来聊一聊什么是认知?

从心理学上说认知指个体经由意识活动而对事物产生认识与理解的心理历程用人话来说就是你怎么看待世界,人与物等等这些关系。

那什么是写代码的认知呢?

就是你是如何看待写代码这件事,为了写好代码你都做过哪些思考,写代码前中后你会去做一些什么事情?

在顶级coder看来,写代码就像是在谋画一件超级唯美的艺术品,让人一眼看上去就心旷神怡,他人在深入理解自己写的代码之后能够拍手叫绝,而且还不能能让别人挑出来一点毛病,艺术家们都是这样的想法。

所以,关于写代码的重要认知就是:

写代码不仅仅是写代码,更是在创造一件精妙绝伦的艺术品

五年老程序七个步骤,告诉你如何写出像艺术品一样的代码_第2张图片

当有了这个认知之后,当你在写代码的时候,你就会想到我是在创造一件艺术品,我不能随随便便的写,我得要充分思考,确保写的代码已经没有可以更改的地方了。

为了你的代码能像艺术品一样精妙,需要做到下面七个步骤:
1,写代码前,充分评估功能需求;
2,确定功能需求后,千万不要着急写,先确定总体的思路,输出技术方案;
3,技术方案写好后,先和有经验的人一起交流,看技术方案的可行性;
4,技术方案确定后,主流程中划分流程模块,写好模块注释;
5,填充流程模块,真正写代码的时候。
6,充分的测试,且输出足够的日志
7,上线准备,提前准备好sql和其他的配置项


写代码前,充分评估功能需求

五年老程序七个步骤,告诉你如何写出像艺术品一样的代码_第3张图片

这一点,我想也没什么好说的了

需求能不能做一定要在输出技术方案前就确定,

不能做向产品说明不能做的理由,能做就开始输出技术方案。

确定总体的思路,输出技术方案

在《高效能人士的七个习惯》中,有一个习惯叫做以始为终,什么意思呢?就是让心智先把要做的事情在大脑中先过一遍,然后再去实际的做。

在心智推演的过程中,你会觉察出很多没有想到的东西,觉察出很多难点和一些疑惑的地方。
五年老程序七个步骤,告诉你如何写出像艺术品一样的代码_第4张图片

对于写代码来说,输出技术方案就是以始为终的最终体现,技术方案完成的那一刻,其实需求怎么去完成就基本确定了。

技术方案可行性研讨

但是俗话说,智者千虑必有一失

或许你的技术方案中依然还存在漏洞,但是以自己的能力已经无法觉察

那这个时候就需要找个比你level更高的人和你一起就技术方案进行讨论

在经过多方地讨论后,就能确定技术方案是否已经完美是否可以直接开干了。

划分主流程模块

当你的技术方案已经最终确定后,你也不要马上就去写具体的代码,你一定要学会抽象

什么叫做抽象呢?就是你必须为你的业务流程划分模块

你要做一个图书管理系统中的借书功能

在方法的主流程中你可以分为借阅者信息查询模块、图书信息识别模块和图书借出模块
五年老程序七个步骤,告诉你如何写出像艺术品一样的代码_第5张图片

当你划分出主流程模块之后,你会有一种自豪感,那么复杂的功能需求竟然被我两三个模块就搞定了,每个模块间的入参出参都是那么的唯美

最关键的是出bug还能快速定位到问题。

我相信每个coder想要有一种这样的自豪感。

填充单个流程代码

当你把主流程的模块都划分好了之后,那就可以往各个模块里面填充真正的工作代码了

五年老程序七个步骤,告诉你如何写出像艺术品一样的代码_第6张图片

这个部分往往按照技术文档的方案输出就好了

但是也不是说一成不变,一定要根据代码的实际情况来进行修改。

充分测试,输出日志

当你把各个模块的代码都写完了之后,那就开始进行轰炸测试吧!
五年老程序七个步骤,告诉你如何写出像艺术品一样的代码_第7张图片

世界上没有一个程序员敢保证自己的代码100%无bug,但是为了尽可能少的出现bug,就一定要轰炸测试。

在测试之前,还是要遵循以始为终的高效习惯,先把用户可能发生的情况尽可能的穷举出来,并写在一个记事本上,然后为每一种可能都写一些测试的用例

在这个部分,就是狂轰乱炸你的代码,不要舍不得炸,这个时候不尽可能的把bug炸出来,那等到线上炸的时候,你将会无比难受

当然,为你的关键代码配上日志输出也是一件非常重要的事情,千万不要忽视!

上线准备

当你的代码经过无限的测试轰炸之后,这个时候你的代码就已经成长为一个大人了,你得要放他出去体验一下这个世界。

但是让他去体验世界之前,你一定要为他准备好所有的必要装备。

新加的字段、删除的字段、更改的字段,你都要给他安排上

该配的配置,你也都要给他先配上。

所有的都准备好之后,就去执行它,然后上线让你的代码去展翅高飞吧。


五年老程序七个步骤,告诉你如何写出像艺术品一样的代码_第8张图片

以上,就是把代码变成艺术品的七个步骤,顶级coder们都在用。

千万不要觉得很高深,当你去用的时候,你会发现这七个步骤是如此的朴实却又如此的高效。

当你的代码成为艺术品,你会发现,你也成为了准时下班的那种人。

你可能感兴趣的:(java)