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

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

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

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

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

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

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

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

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

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

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

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

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

背对背,面对360度的世界

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Hello World;你好,另一半。

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

大家520快乐~

目录
相关文章
|
JavaScript
Vue vant引入,tabbar封装使用示例
使用tabbarTempValue值来监听,使用active值来接收。这是为了防止props为单向数据绑定,在组件内改变值后会产生报错,父页面无法接收
596 0
重构——10搬移函数(Move Method)
搬移函数(Move Method):你的程序中,有个函数与其所驻类之外的另一个类进行更多的交流:调用后者,或者被后者调用。在该函数最常引用的类中建立一个有着类似行为的新函数。将就函数变成一个单纯的委托函数,或是将旧函数完全移除
3719 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue的宝鸡文理学院学生成绩动态追踪系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的宝鸡文理学院学生成绩动态追踪系统的详细设计和实现(源码+lw+部署文档+讲解等)
95 0
|
Web App开发
火狐浏览器之伪造IP地址
前言: 前段时间,测试过程中需要伪造来源IP地址,百思不得其解,因而发现火狐浏览器的这个Modify Headers插件,十分好用,推荐给大家。 步骤: 1、安装插件Modify Headers 进入网址:https://addons.mozilla.org/zh-CN/firefox/,搜索Modify Headers,点击添加到Firefox。
2501 0
|
C语言
c语言对对碰游戏源码
c语言对对碰游戏源码
149 0
|
Kubernetes Cloud Native Linux
OCI 完成 TOB 选举,阿里巴巴工程师入选全球 9 人名单
2 月 12 日, OCI 完成了新的一轮 TOB 成员选举。阿里巴巴高级开发工程师 傅伟(花名:聿歌)获得 TOB Member 席位,任期为 2 年,是 9 位 TOB 中唯一一位来自中国公司的华人工程师,在成为 OCI 组织的 TOB 之前,傅伟一直积极参与云原生开源项目共建,同时也是 CNCF/containerd 项目的 Maintainer,未来他将继续参与容器标准的演进建设。
OCI 完成 TOB 选举,阿里巴巴工程师入选全球 9 人名单
|
11天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1243 5
|
10天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1220 87