博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何才能写出“高质量”的代码?
阅读量:6590 次
发布时间:2019-06-24

本文共 1250 字,大约阅读时间需要 4 分钟。

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

数学不好能学好编程不?

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

78b4ef2444da423f9ce42db075597687fc643314

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

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

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

fda0283db6d10abd5124d9acfa75dd35c2bc2848

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

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

db8a42698623d64624b0e698bc036604860124bd

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

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

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

本文作者:东辉在线

本文来自云栖社区合作伙伴“”,了解相关信息可以关注“”。

转载地址:http://puuio.baihongyu.com/

你可能感兴趣的文章
Netty 实现HTTP文件服务器
查看>>
【MFC两种视频图像採集方法】DirectShow与Opencv
查看>>
ORACLE数据库表解锁record is locked by another user
查看>>
MapGuide应用最佳实践--采用托管(Managed)资源还是非托管(Unmanaged)资源
查看>>
iOS:扩展UIColor,支持十六进制颜色设置
查看>>
MapGuide开发中使用Fusion Viewer及通过程序开关图层
查看>>
最简单的基于FFmpeg的AVDevice例子(读取摄像头)【转】
查看>>
解决eclipse不识别Android手机的问题
查看>>
标准答案-有多少人能分得清值类型和引用类型?
查看>>
Java8-Stream-No.12
查看>>
Java编译那些事儿【转】
查看>>
各种排序算法的总结
查看>>
[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】...
查看>>
SpringBoot相关
查看>>
[LeetCode] Sudoku Solver 求解数独
查看>>
html5/haXe开发偶感
查看>>
js深入研究之神奇的匿名函数类生成方式
查看>>
The life cycle of a typical project 一个典型的项目生命周期
查看>>
推荐F#最近的一些资源
查看>>
Linux文件操作
查看>>