文档章节

学编程,先知规范

cnbo
 cnbo
发布于 2017/08/13 22:26
字数 1476
阅读 59
收藏 0

我为什么要写这篇博客

写博客一直是我想去做的事,可是一直没有付诸于行动。虽然看别人的博客很容易,但当自己开始在键盘上敲打的时候,我发现太痛苦了。

八月初,和我同一批校招进厂的同学们都已上岗工作了。因为我们的水平不太统一,有的基础好点,有的基础差点,所以老大每周会给我们布置作业,同时也会对我们的作业进行讲评。经过最近两次作业,我发现有部分同学的编码规范有待提高。其实这也可以理解,因为他们之前没有接触过,在学校的时候也没人告诉他们编码要讲究规范。

我是四月份进的厂,老大安排我维护两个系统。当我看见系统的源码的时候,我的心里有着一万匹叫做曹里的马在奔腾。包含几百行代码的方法随处可见;一个方法有几十个形式参数是正常现象;各种代码风格混杂在一起特别杀马特;在JSP里掺杂着 Java、JS、HTML、CSS 代码,有种 56 个民族一家亲的味道;整个系统有一半的逻辑是写在存储过程里的,先喝口水压压惊。

其实公司老系统代码令人恶心的一个很重要的原因就是上梁不正,下梁歪。由于刚进来的新人也不分不清代码风格的好坏,他们只能学着前人的风格。这样的恶性循环非常可怕。我希望所有学习编程的同学,从开始就养成一个非常好地编码习惯。

高级程序语言诞生的目的

我们现在接触到的绝大多数编程语言都是高级语言,例如: C、C++、Java、JavaScript 等。我们在这里不论各种高级程序语言的优劣。

我们一定要铭记,用高级语言写出来的代码是给人看的。我相信高级语言诞生时最宏伟的一个目标就是:即使没有学过编程的人,他们可以通过类名、方法名和变量名大概知道程序的功能。

像写好一篇文章一样写代码

我相信一篇优秀的文章,一定是内容精彩,同时字迹漂亮,文章格式人性化。如果一篇文章的内容非常的不错,但是作者的字及其丑陋,同时文章的格式乱糟糟的。我相信那依然是一篇没人喜欢看的天书。写代码也是同样的道理,即使你的代码所实现的功能非常牛逼,但我们这些凡夫俗子都看不懂,那你的代码也没有多大的价值。

我们简单看一下写出好代码要掌握哪些规范:

  • 每个方法所能容纳的代码行数不要超过 30 行,一行代码的字符数量控制在 120 以内。
  • 一个方法只做一件事, 就好比我们在家只吃饭,却不做饭。
  • 在给类名、方法名和变量命名时尽量做到见名知意,这会比你们的注释更加给力,因为这时你们的代码自带注释功效。
  • 类名的每个单词的首字母大写;方法名和变量名的第一个单词的首字母小写,后面单词的首字母大写,这就是传说中的驼峰命名法;常量名的所有字母都要大写,并且每个单词间用下划线隔开。
  • 如果一个方法的形式参数中有太多的基本类型,或者数量超过了 5 个,这时你可以将这些参数封装成一个类。
  • 当一个方法的逻辑比较复杂的时候,一定要加上注释;给类加上注释,以阐明一个类有哪些功能。

我们也是自己嘴中的那个傻 BI

如果你们觉得养成良好的编码习惯并不重要,或者是很难。那么你们可以时隔一个月、半年或者一年再去看你们之前写过的代码,我相信你们会喷嚏连连,因为你们会骂这是哪个傻*写的,很不幸那个傻BI就是你们自己。

不要抱着侥幸的心态,自以为只要是自己写的代码自己就能看懂。其实,你们写的代码并不是你们自己的,随着时间的推移,你们的代码就是别人的啦。为了不让别人(包括你们自己)在背后骂你们,一定要养成良好的编码习惯。

总结

我在文章中并没有详细地列举具体地编码规则,因为这些规则已经有人给出来了。阿里巴巴为我们贡献了一套 Java 开发规范,这套规范不仅适用于 Java 开发,同样对其他的编程开发有借鉴意义。这里是阿里巴巴 Java 开发手册的下载地址。[PS: 阿里巴巴的 Java 开发团队是国内最牛逼的]

最后我给大家推荐一本非常好的书[编写可读代码的艺术],它会教你如何写出一手漂亮的代码,在书中有各种编程语言的实例。
输入图片说明

© 著作权归作者所有

共有 人打赏支持
cnbo
粉丝 5
博文 9
码字总数 15846
作品 0
深圳
程序员
杰尔夫CTT团队/weapp-jief-bilibili

本系列教程开始 微信小程序11月4日开始公测,做技术的我们又得解锁新技能了,所以决定一边学一边写,分享走过的坑。 以《微信小程序 - 哔哩哔哩弹幕视频网》移动端网站为基础开发微信小程序版...

杰尔夫CTT团队
2016/11/14
0
0
JavaScript 异步

JavaScript怎么使用循环代替(异步)递归 问题描述 在开发过程中,遇到一个需求:在系统初始化时通过http获取一个第三方服务器端的列表,第三方服务器提供了一个接口,可通过分页形式获取列表。...

掘金官方
01/02
0
0
开源的ios程序在哪可以看到呢?

开源这个词谁都知道,程序员可以通过开源的程序学很多东西。 我做了两年的ios,想学更多的东西,想看看别人写的代码,别人写的项目,我该去哪看呢?我一般都是看看常用第三方库的源码。可是我...

任我飞啊000
2014/07/06
242
2
Go语言基础学习:变量

Go语言基础学习(一)变量 猜你喜欢 Ceylon语言学习笔记(1) 《从零开始学Swift》学习笔记(Day 69)——Swift与Objective-C混合编程之语言 go语言学习-常量 GO语言学习-复杂类型(2) Go语言学习...

d_watson
2016/04/15
12
0
关于Java中的英文?不会英文就不能学习Java吗?

好多学生问,不会英语就不能学Java吗?不是。英语和Java完全没关系。但是就算你不会英语也没关系。Java中系统规定的单词也就200个作用。然后其他的就是你根据意思可以自定义构造一些单词。像...

虞姬-lu
01/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

讲述下 :LVM逻辑卷管理遇到的问题

LVM学习逻辑卷管理创建逻辑卷遇到的问题 1 实验环境 系统 内核 发行版本 CentOS 2.6.32-754.2.1.el6.x86_64 CentOS release 6.10 (Final) 由于是最小化安装没有xfs命令,yum安装如下包支持此...

linuxprobe16
36分钟前
0
0
day95-20180922-英语流利阅读-待学习

Hey Jude 半个世纪传唱不衰的背后故事 毛西 2018-09-22 1.今日导读 2004 年,The Beatles 被《滚石》杂志选为“历史上最伟大的 50 位流行音乐家的第一位”。这四名来自英国利物浦的男孩不仅对...

飞鱼说编程
43分钟前
1
0
OSChina 周六乱弹 —— 放假前期焦虑症晚期

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享Matteo的单曲《Panama》: 《Panama》- Matteo 手机党少年们想听歌,请使劲儿戳(这里) @新垣吉衣OSC :我发现只要去有小朋友...

小小编辑
58分钟前
150
8
wait()被notify()后,接着执行wait()后面的语句

wait()被notify()后,接着执行wait()后面的语句

noteman
今天
1
0
Ubuntu集群-使用MAAS开始裸机安装

Ubuntu使用MAAS装机的七个步骤。 1、Setup your hardware You need one small server for MAAS and at least one server which can be managed with a BMC. It is recommended to have the M......

openthings
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部