01

关于马化腾编码的水平,网络上曾有这样一个段子:

曾经和pony(马化腾)一起写过代码。当时我、pony、马克3人挤在一个只有10个位置的房间里,埋头开发。马克当时负责排查两个bug,跟进了10个月,没有一点进展,下楼准备买点瑞士卷吃,消消愁。回来发现pony光着膀子,啃着个猪蹄儿,站在阳台,望着寂静的夜,回头冷静地和马克说了句:“bug我帮你处理好了。”

可见老马的编码水平之高,当然,这只是个段子。但据说当年创业时,公司主页是马化腾自己亲手制作的。

关于他编码是不是最好的,我们不知道;但可以肯定的是,他一定是通过软件挣钱挣得最多的那位程序员。

02


无独有偶,互联网界的精英,大多数是技术出身,譬如雷军、李彦宏、周鸿祎等,几乎都是编程高手。作为京东首席CEO,刘强东编码水平也备受关注。

知乎上,有人曾提问过这样一个问题:

刘强东的代码水平如何?

有网友这样回复:

刘强东在一次讲座上,称自己在校大三的时候,也就是1995年左右,他给别人写代码,一个晚上就能赚5万。

95年一个晚上5万,那是什么概念。

至于刘强东编码的水平究竟怎样,是不是像上面网友形容的那样,可以一个晚上赚5万,我们无从而知。

但可以肯定的是,无论是马化腾还是刘强东,所编写的代码应该很规范。

不知你有没有类似这样的这样的经历:

回头看看自己一年前编写的代码,惊讶地发现,哇哈,如此不规范的代码,是谁编写的?确定是我写的吗?我能写出这样惨目忍睹的代码?分分钟钟怀疑人生。

代码规范的重要性我们都知道,但要真正做好,还需要我们在实践中慢慢的累积,不断修炼。

03

如果代码没有统一的规范,每个人都按照自己掌握理解的那一套,那么整个项目的代码很可能就会出现风格迥异。即使是分工明细,每个人负责一个模块,等到要整合代码的时候就尴尬了。

很多时候,并非程序的算法有多复杂,或是逻辑多么复杂,而是因为代码不规范,越读越费劲,把精力都耗在这里了。

统一的代码规范可使得代码可读性大大提高, 在团队的合作开发中是非常有益而且很有必要。

04

项目维护工作不仅读懂源码,而且还需要在原有源码基础上作出修改。如果没有统一代码规范,很可能会出现这种现象:

张三完成开发以后,李四进行维护加一段代码,过一段时间王五又加一段代码。原本一个很普通的需求,经历了N次迭代和修改,已经形成了巨大的功能。直到有一天,张三、李四、王五都辞职了,新来的员工看到那一大堆没有统一规范的代码。想死的心都有了。

随着不断迭代版的维护成本越来越高,从而形成恶性循环。程序背后的架构设计或模式固然重要,但良好的命名也不容忽视。不规范的命名不仅让我们对代码难以理解,更糟糕的是,会误导我们的思维,导致对代码的理解有偏差。

相反,良好的命名规范,则可以让我们的代码更加容易读懂,也能向读者正确表达事物以及逻辑的本质,阅读命名规范的源码理解没有那么费劲,会有一种享受的感觉。

有人喜欢对控件textview1,textview2,textview3、,textview4类似这样的命名,甚至还对其添加注释。

有人可能认为注释越多,其他人看到的就会越好。其实不然,注释过多,或是一些冗余注释,反而会影响源码的可读性。如果我们良好的命名规范,结合了需要和命名。它可以省去许多不必要的注释。

对于方法命名,首字母一会儿大写,一会儿小写;一会儿全称一会儿简写;一会儿驼峰命名法一会儿匈牙利命名法。

当然,起一个好的名字不是件容易的事情。首先,既要有尽量多的提供变量信息,又要尽可能的保证名字短小精悍,还不能为了短小而随意采用缩写而导致阅读障碍,另外还要尽量保证以后程序更新后名称仍然能很好的描述其内容。

在编写代码中,要尽可能的遵守一个良好的命名规范,并且不停地的调整学习命名,从而逐渐掌握起一个良好名字的能力。

05


知道了代码规范的重要性,但有时候迫于项目赶进度压力,有的因为繁琐的规范作出很多额外的工作,影响了项目开发进度,而渐渐被忽略。

规范不是对开发的制约,而确实是有助于提高开发效率的,最大的受益人其实还是自己。

不知你有没有类似这样的经历:

  • 很多的时候阅读自己的代码,需要花费很多时间?

  • 尤其是出现bug的时候需要逐行的debug?

  • 自己编写的代码过了一段时间后再来看自己都乱了头绪。回到前面说的疑问,这代码是我自己写的吗?

我们应该做的就是规范开发,减少自己出现的错误。很多时候项目的压力一部分也是由于前期开发中遗留的众多的问题。

那些看似无用的东西要经过我们慢慢地累积由量变达到质变的时候,相信你能体会到其价值所在。

养成良好的代码规范不是为了别人,也不是为了公司,而是为了提高自己的编程修养,提高自己认识事物的能力。让自己编写的代码可维护性更好、可重用性和可扩展性更强。

接手别人项目时,最让你最难以接受的是什么?没注释,代码乱?代码冗余?架构拓展差?欢迎留言!

 

【END】

往期精选推荐

这座城市很炎热,孤单的人总是晚回家

不要小瞧你身边那位看起来很懦弱的中年人

要嫁就嫁会做饭的,哪怕他月薪3000

分享职场攻略、技术心得和创业资源

更多精彩内容,请长按识别关注

更多关于编码规范,感兴趣的回复“手册”获取更多资源

你见过马化腾18年前编写的代码吗?相关推荐

  1. 马化腾三年前推出的微信公众号付费功能,终于来了

    下午收到微信公众平台使用付费功能,有点惊讶. 关于微信公众号付费付费功能,马化腾曾在2017年就有提过. 如今三年过去了,总算等来了. 1月15日,总算见到公众号付费功能的模样了.微信订阅号付费能力正 ...

  2. 关于qq创始人----马化腾的一些琐事

    马化腾(pony)写代码的水平如何? 一位产品经理吐槽: 曾经和pony一起写过代码. 当时5个人挤在一个只有四个位置的房间里,埋头开发,用C++.我当时负责写一个通讯模块,有一个bug弄了两天,没有 ...

  3. 雷军20年前作文:我会当一辈子程序员 + 分享雷军22年前写的代码

    身为小米科技的创始人.董事长和首席执行官,雷军的名字如雷贯耳.其实扒扒雷军的年轻时代,其实他大学读的是计算机专业,是程序员出身,而且一干就是10年.有网友曾说"代码只服雷军".雷军 ...

  4. 百度腾讯齐刷刷强调“产业+AI”,李彦宏看深,马化腾见远

    这是一场不容错过的分享. 如果乌镇世界互联网大会已让你感到众声喧哗.无暇兼顾,那么这场围绕AI展开的对话也值得一观. 对话嘉宾分别是腾讯当家马化腾,以及百度当家李彦宏,主持人则是高瓴资本当家张磊. 在 ...

  5. 那个16岁盗走马化腾QQ 震惊央视的农村男孩去哪了

    十几年前,还没有微博.微信.知乎. 但在网络上却有这样一个无人不知,无人不晓的江湖--"天涯社区",和它的名字一样,这里鱼龙混杂,又有情有义,有无数大神. 当年的天涯孕育了一个又一 ...

  6. 16岁盗马化腾QQ震动央视的男孩

    十几年前,还没有微博.微信.知乎. 但在网络上却有这样一个无人不知,无人不晓的江湖--"天涯社区",和它的名字一样,这里鱼龙混杂,又有情有义,有无数大神. 当年的天涯孕育了一个又一 ...

  7. 艾永亮:马化腾“怒刷存在感”,马云“拉皮条”,只有他最低调。

    还记得2017年王健林说的"毒鸡汤"吗?"先定一个能达到的小目标,比如说我先挣它一个亿".这句话刷爆网络,不少网友表示震惊,让我们看看这一碗"毒鸡汤& ...

  8. 那个16岁便盗了马化腾QQ的少年,如今怎么样了?

    文:Chery  l  From:精英说 十几年前的互联网世界, 还没有微博.微信.知乎.贴吧, 当时的网民们都聚集在天涯社区, 天南海北,共话此时. 天花乱坠的网络事件. 流传甚广的"天涯 ...

  9. 那个 16 岁盗走马化腾QQ、黑掉整个天涯论坛的少年,如今怎么样了?

    点击上方"芋道源码",选择"置顶公众号" 技术文章第一时间送达! 源码精品专栏 精尽 Dubbo 原理与源码 69 篇 精尽 Netty 原理与源码 61 篇 ...

  10. 那个16岁时盗了马化腾QQ的少年,如今怎么样了?

    导读:十几年前的互联网世界,还没有微博.微信.知乎.贴吧,当时的网民们都聚集在天涯社区,天南海北,共话此时. 天花乱坠的网络事件.流传甚广的"天涯十大悬案",一度是大家茶余饭后.津 ...

最新文章

  1. linux下查看cpu负载及分析
  2. python进阶学啥书籍_2018年Python学习进阶书籍推荐
  3. Orange Business Services 助力汽车制造商宝沃构建数字化基础架构
  4. 伍迷随想冷饭集 之 瞻前顾后之随想
  5. Spring Boot中的高级配置文件管理
  6. 企业实战_03_Redis基础命令
  7. IDEA对tomcat远程debug
  8. 你在成长为一个优秀的程序员吗
  9. 敏捷开发般若敏捷系列之六:如何推广敏捷(下)(以无我之心,行无住之法)...
  10. 小马儿随笔十一:朋友一生一起走
  11. 日期操作类--Date类
  12. 《沙盘模拟系列》JVM如何调优
  13. spss相关分析(spss统计分析实验教程,谢蕾蕾)
  14. Python画樱花树~
  15. linux 笔记本 显卡驱动,archlinux 笔记本安装nvidia显卡驱动与intel显卡驱动
  16. 8种开源情报(OSINT)工具简介
  17. PHP报错child 30396 said into stderr: zend_mm_heap corrupted
  18. flowable子流程实现
  19. python做网站怎么样_python能做网站吗
  20. springboot+vue 实现系统公告页面

热门文章

  1. Infoq专访:Maven中文用户组创始人许晓斌
  2. 2022-2027年中国服装定制行业市场全景评估及发展战略规划报告
  3. 服务器响应401,服务器返回的HTTP响应代码:401为URL:https
  4. MacBook Pro 上网很慢
  5. javascript 经典功能代码和经验教程
  6. POI设置excel格式为文本格式
  7. 台式计算机光标时不时跳动,苹果电脑打字乱跳光标怎么办?MacBook打字时光标乱跳的解决办法...
  8. wav格式怎么转换成mp3
  9. ios特定界面强制横屏
  10. hibernate工作机制