如何才能不崩溃 9: Mindset

这是来源于inessential.com的一系列博客,我觉得内容写的非常好,也非常有意义,所以我在此进行一系列的翻译。下面是原博客地址:http://inessential.com/hownottocrash

原文地址:

http://ifujun.com/yi-wen-ru-he-cai-neng-bu-beng-kui-9-mindset/

http://inessential.com/2015/06/10/how_not_to_crash_9_mindset

你知道不写代码的保守派和你一样聪明(You know the old line about not writing code that’s as clever as you are),因为这可能需要一些更聪明的人来调试它?

我曾经认为我应该写和我一样聪明的人的80%左右的代码。留一点时间去调试。

但是在许多年之后,我想,我应该写和我一样聪明的人的10%左右的代码。我开始相信,真正聪明的是使代码非常清晰,并且使得代码明显看起来没有问题。

这就是为什么我有这样的规则:在主线程上做所有事情,除了可以被完美独立起来的永远不要使用 unsafe_unretained

这意味着我没有成为代码魔术师的加分点。我不会从帽子里面变出兔子,我也确定我不会走高空绳索。我甚至看都不看绳子。

如果有需要的话,我会做各种不同的事情。即使有很困难的事情,我的目标已经是尽我所能去编写简单的、非常可读的代码。如果,在最后,代码看起来简单 - 不令人信服,甚至,像一个中学小孩子写出来的 - 那就好。

小范围来说,这意味着方法往往规模较小,并且集中。大范围来说,体系结构和命名的迭代是不可避免的,但是即使你不进入方法也可以很明显的了解它的作用。

这意味着不要太抽象。要非常明确。但是这也意味着,也不要太特殊 - 当有两三个东西做同一件事情的时候,在不破坏可维护性的前提下,它们要具有普适性。(有时它们不能。)

我避免和大型结构有高耦合性 - 除非在最好的解决办法是从x上去获取y的时候。

我一直在学习,使自己变得更好。

时间

将编程从画画、写作、建筑和编曲中分离出来,是因为编程没有完成品。只有发行版本,是的,编程没有完成,只有放弃。

代码可能会一直存在着,也可能会贯穿很多人 - 你甚至不知道会多久,又会是哪些人。这不应该脱离你的思想。

Cape, mask

当我年轻的时候,我希望成为一个代码魔术师 - 或者,实际上,一个英雄。但是我了解到 真实的代码质量远比别人怎么看我更重要

并且,质量几乎就是精神奖励。这是一种奉献的行为,对于一些比自我更重要的东西,这是自私的,同时也是无私的。

自私是因为,努力编写高质量的代码会使你成为一个更好的人。不自私是因为,对别人来说,更好的代码和更好的软件会更好。

其他人问关于你代码的第一件事情就是,如果他们启动它,它是否会一直启动着。任何不关注此事的程序员 - 或者合理化崩溃的事实的人 - 我们很荣幸我们对此有足够的重视。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值