先找到爱的人,再写出色的代码

简介: 先找到爱的人,再写出色的代码

她会让你成长,但她不会把你变成另一个人。

我曾经为某个著名的开源项目贡献过代码。这个项目的编码之规范、测试之完整、文档之清晰在我见过的开源项目中名列前茅。

它曾经是我代码编写过程中的参考标准。我的编码规范,代码风格,都是从这个项目中学到的。现在,我将会为它添砖加瓦。

我修改的部分只有十几行代码,但我前前后后修改了七八次。因为我怕我的代码增加了这个项目的熵。让这个项目变得不够完美。

软件开发中有一个著名的熵增加定理——随着代码复杂度的增加,系统的混乱程度也会成倍增加。

所以,我在提交代码时,会确保自己的编码风格和已有的风格保持一致;确保单元测试能够测到新增代码的全部情况;确保注释清楚表达了我的逻辑;确保更新了这一段代码对应的文档;确保这一段代码看起来和它周围的代码就像是来自于同一个开发者。

曾经有朋友说,Github上活跃的一些大佬,都有自己的编码风格,只要看到他们的代码,就能知道出自谁之手。为什么你在给开源项目提交代码的时候,总是会模仿已有代码的写法,而隐藏自己的风格?

因为这是受到我女朋友的影响吧。一个优秀的女朋友,会让你希望和她一起成长,但又不会让她改变本来的样子。

我们都是自己生活的主角,他人生活里的NPC。我们能在自己的生活里活出自己的风格,我们试图让所有东西都朝着我们期望的方向发展。

但有一天,当你看到了一个人,你会怀疑,她应该才是这部戏的主角吧。这个时候,你突然发现你之前的幻想全都实现了。你不敢去触碰,害怕眼前的人像是水里的倒影,轻轻触碰就碎成一片一片。

你会发现自己变了,你做了之前下了无数次决心又无数次拖延的事情,过去的你跑不了一千米,现在你能在跑步机上坚持5公里;过去的你只会在代码里消磨每个周末,现在的你有她一起探索生活里的小惊喜;过去的你是一个死宅,现在的你想陪她拿着相机看遍世界的景色。你似乎变得不一样了,但你知道你还是你自己。你迷失在她的话语里,你清醒于她的眼眸中。

背对背,面对360度的世界

在一些祖传代码里面,每一个函数开头几行一定是检查传入参数的合法性。他们怀疑一切传入的参数,即使调用这些函数之前已经充分检查。

有人说这是防御性编程,对所有第三方的接口都不能完全信任,要做好接口故障的准备。但在同一个项目中的优秀开发们,应该充分相信自己的伙伴。

滥用异常捕获,会让代码臃肿不堪,一个函数50行代码,其中49行都在捕获异常。Shit of Mountain就是这样来的。

优秀的开发者,只在合适的地方捕获异常,他充分信任同伴的代码,他写的代码也会让同伴放心使用。

一个优秀的女朋友,可以让你把后背完全信任地交给她。你专注于自己最擅长的事情,给她的后背以安全,而她擅长的,你也会完全相信她会处理得很好。

产品经理和开发的相处模式

写代码的人分成很多种,码畜,码农,程序员和工程师。

码畜又叫调参侠、调包侠。自己写不出几行代码。只会调用别人写好的模块,改几个参数反复尝试。

码农是代码翻译员,把精确到每一步的逻辑翻译成对应的语言。

程序员把业务逻辑转写成代码逻辑。

工程师把现实世界映射到代码世界。

产品经理没有这么多等级,但差的产品经理分为两种,一种只管提需求,不考虑开发能不能实现。一种恨不得亲自帮开发写代码。

好的产品经理只有一种。她知道什么任务能做,什么任务不能做。她会挡在开发和需求方的面前,帮开发挡开不合理的需求。

优秀的女朋友会帮助你成为一个优秀的工程师,她会给你合理的目标,然后给你足够的自由,让你自己决定怎么做。她知道什么时候应该提什么需求,一切都恰到好处。你们的生活,就在她的指引下,你的建设下,逐渐迭代出新的版本。

Hello World;你好,另一半。

你让我对明天有所期许,希望你能和我一起生活在明天里。

大家520快乐~

目录
相关文章
|
18天前
|
自然语言处理 关系型数据库 MySQL
PHP编程入门:构建你的第一个网页应用
【10月更文挑战第29天】本文旨在引导初学者步入PHP编程的世界,通过深入浅出的方式介绍PHP的基础知识,并指导读者如何动手实践,搭建一个简单的网页应用。文章不仅涉及PHP代码的编写,还包括了环境配置、项目结构设计以及前后端交互的基本概念。适合对Web开发感兴趣且希望快速入门的朋友阅读。
30 0
|
6月前
|
数据采集 人工智能 算法
你要牢记的四个常用AI提示词框架:ICIO、CRISPE、BROKE、RASCEF,有助于获取更加稳定和高质量的内容
你要牢记的四个常用AI提示词框架:ICIO、CRISPE、BROKE、RASCEF,有助于获取更加稳定和高质量的内容
jira学习案例124-代码分割优化性能
jira学习案例124-代码分割优化性能
80 0
jira学习案例124-代码分割优化性能
|
安全
程序人生 - 怡宝和农夫山泉有什么区别,哪个更好一些?
程序人生 - 怡宝和农夫山泉有什么区别,哪个更好一些?
240 0
WIN10升级的做法有待友好设计
WIN10升级的做法有待友好设计
107 0
|
自然语言处理 小程序 搜索推荐
小程序搜索服务优化最佳实践
小程序的诞生大大缩短了操作步骤以及省去了APP之间的切换成本,如何提升用户体验,促使更多流量变现,是大部分开发者们不断探索优化的方向。本文透过小程序“搜索服务的优化”的角度,结合了阿里云开放搜索的最佳实践,解读如何2步实现一站式高质量搜索体验~
3417 0
小程序搜索服务优化最佳实践
|
设计模式 缓存 JavaScript
90%的人会遇到性能问题,如何用1行代码快速定位?
今天,齐光将会基于之前列举的众多指标,给出一些常见的调优分析思路,即:如何在众多异常性能指标中,找出最核心的那一个,进而定位性能瓶颈点,最后进行性能调优。整篇文章会按照代码、CPU、内存、网络、磁盘等方向进行组织,针对对某一各优化点,会有系统的「套路」总结,便于思路的迁移实践。
2321 0
|
SQL NoSQL Java
案例分享:巧用工具提升无源码系统的性能和稳定
在没有核心系统源码的情况下巧用工具提升系统的性能和稳定性。
自然框架的定位
  首先从软件定义的角度来看,然后再从项目开发的几个阶段来看。     软件:是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。
719 0
下一篇
无影云桌面