如何才能写出“高质量”的代码?

简介:

作为一个已经写了十几年代码的程序员,做好软件不是全部围绕代码而展开,换句话讲一个程序员的程序员优秀不仅仅体现在代码上,更要有内在的编程思想说的层次再高深点就是框架思想。很多初学者都会存在很多疑问,觉得能够写代码就万事大吉了,在能写代码之前会有很多疑问

数学不好能学好编程不?

英语不好能不能学好编程?

78b4ef2444da423f9ce42db075597687fc643314

这些都是还没入门的疑问,真正入门之后发现这些都不是什么问题,真正决定程序员水平也不是简单的能写多少代码,真正项目实施过程写代码的时间占据不到百分三十,大部分时间是在设计和构思上,当然占据时间最多的是调试以及客户后续提出的需求上面,现在很多人还在纠结是不是要多学习几种编程语言,编程语言本质来讲就是一种工具,主要指导思想还是编程思想。

现实中如何才能写出高质量的代码?

1.良好编程基本功。再高的大厦也得需要强大的编程基础,不一定要掌握多少种编程语言关键要非常熟悉一种编程语言,里里外外都给吃透了,达到这种程度至于掌握几种编程语言就显得不是那么重要了,到了这种程度就可以触类旁通,切换一种新的编程语言也不会费多大事,有事没事就回头看看基础书,越是编程高手越是注重基本功的学习,很多做java的程序员,java编程思想这本书看了不下十几遍,而且还在继续,基础的学习什么时候值得回味。

fda0283db6d10abd5124d9acfa75dd35c2bc2848

2.专业知识的雄厚。编程语言只是工具,工具如何才能使用好,还是要看这工具是用来做什么的,比如安全领域可能使用C语言或者C++编程,如果安全专业知识掌握的非常扎实,工具使用起来再更加熟练,才能有高质量的代码出现,要把一个事情做到极致,各个细节点就要落实到位,缺一不可。

3.好的软件框架,软件框架是写出高质量代码的土壤,假如一个能力很强的人,进入一个乱糟糟的公司基本很难发挥出最大的潜能,所以生存土壤很重要,一个优秀的产品一定是代码各个模块有机配合在一起共同做出来的,一个模块的优秀代码优秀,整个产品出问题了意义也不是很大。

db8a42698623d64624b0e698bc036604860124bd

4.高质量的代码从来都不是一次性搞定的,都是经过多次的打磨修改出来的,玩过开源的人应该都明白,代码模块不停的升级优化折腾不停,不仅仅是功能的增加更重要的代码质量的提炼,所以想写出高质量代码需要敢对自己下手,对自己要狠一点才能有高质量的代码出来,细心的人可以观察下身边优秀的程序员,看看是不是都是这么做的。

做到以上四点,坚持下去写出来的代码质量不会差,当然还要懂得去阅读别人写的优秀代码,开始看的时候不一定能看得懂,不能大块的看懂就切块去看去学习,以前有个linux内核爱好者,整体看linux内核代码,有一天看到他十分开心的样子,问发生了什么事情,说看懂了linux内核里面的内存是如何管理的了,然后拉着我给我讲了半天,虽然没听懂但也坚持听到最后,毕竟代码能写的前提是能看懂,所以开源社区的代码如果能看懂就是一个非常大的进步,然后一步步的掌握起来,格局放大一定做出更大的事情来。


原文发布时间为:2018-11-8

本文作者:东辉在线

本文来自云栖社区合作伙伴“程序员互动联盟”,了解相关信息可以关注“程序员互动联盟”。

相关文章
|
域名解析 缓存 网络协议
如何解决域名解析不生效问题?
文中对域名解析不生效的原因进行了分析,并针对最常见的本地递归域名服务器缓存不生效的问题提出了解决方案,尤其移动域名解析HTTPDNS对无线场景下的应用特别有效。
32761 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的二手商品网站的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的二手商品网站的详细设计和实现(源码+lw+部署文档+讲解等)
123 4
|
算法 搜索推荐 安全
AES - 对称加密算法简要介绍与JAVA实现
AES - 对称加密算法简要介绍与JAVA实现
497 0
|
数据可视化 数据挖掘 Linux
​分享小知识点,顺便考考ChatGPT
​分享小知识点,顺便考考ChatGPT
​分享小知识点,顺便考考ChatGPT
|
SQL Oracle 关系型数据库
Oracle数据库的增、删、改,索引、视图以及序列的创建和销毁
Oracle数据库的增、删、改,索引、视图以及序列的创建和销毁
370 0
Oracle数据库的增、删、改,索引、视图以及序列的创建和销毁
|
存储
《企业数据的存储类型选择与成本优化》电子版地址
企业数据的存储类型选择与成本优化
102 0
《企业数据的存储类型选择与成本优化》电子版地址
|
设计模式
我学会了,抽象工厂模式
抽象工厂模式属于创建型模式,这个类型的设计模式是将 对象的创建和使用解耦了,花式的去创建对象。
139 0
我学会了,抽象工厂模式
|
消息中间件 监控 Java
抢占式实例最佳实践--如何模拟中断事件
由于抢占式实例天然具有被中断的风险,在实例中断前至少5分钟,系统会向您发送中断消息。此时您可以依据 抢占式实例接收中断消息指南 来进行中断消息的处理. 但在开发"中断处理程序"阶段, 由于您实例的中断是由阿里云触发, 概率极低且是非常随机的过程, 调试与验证中断处理程序可能会比较困难.因此,模拟中断事件来增加验证的可操作性是有必要的