独立开发者的心理建设

115 阅读4分钟

写代码过程中很重要的心态,不要纠结,刚开始很容易遇到各种小错误,花费大量的时间纠结于为什么这样就不行,明明之前在别的地方这样是可以的,于是就很不服气,想彻底搞懂,但是当前的场景和你的知识储备提供不了你搞懂全部原理的能力,于是人就很容易钻牛角尖,搞得身心俱疲。

你的任务是把东西做到能用,此时需要转变心态,只要当前不影响使用和继续开发,请先不要在过多的变量引起的混乱中寻找秩序,而是跳出来拖着这部分混乱继续往前走,其实这些问题早晚会继续碰到的,而且很有可能这些问题在其他场景中,变量更少的情况下你花很少时间,很小成本,很轻易地就理解了,如果一直卡在一个地方没有进展会极大地消耗人的热情和耐心,甚至产生怀疑自己的可能,怀疑自己意味着降低对自己时间价值的认可,于是项目的开发进展会拖的更慢,甚至于放弃。

开发中遇到问题的时候千万不要怀疑自己,因为编程是一件灵活度很高的事情,不像考试有标准答案,不用非要追求最佳实践,而且最佳实践也不要别人想出来的,而是实践中改进出来的,抽象能力是问题的重复涌现出来的,不要把这当成一种遥不可及的智力差距,当我们学习到很多最佳实践时,不要忘了,即使自己不能很好的使用最佳实践,也千万不要因为怀疑自己而忽视了自己可以用不那么好的方式完成这件事,完成比完美更重要!灵活度高意味着过多的变量让人很难定位到一个问题的原因,但是却能在不断的尝试中解决问题,只要解决了问题,这个原因会在以后不断地补充基础和重复遇到相同且变量不同的场景下自动浮现出来的,所以请大胆地继续吧,不要纠结,更不要怀疑自己,自信和时间是最重要的资产。

编程刚入门时,很容易陷入一个怪圈,那就是对自己所运行的程序缺乏安全感,越是缺乏安全感,越是容易疯狂地纠结,某个变量的改变为什么导致程序跑通了,而某个变量为什么又卡了那么久。为什么写代码不能纠结于细节,但是又要专注于细节。这是2个不同的环节,如果混淆了会对自己继续编程的信心造成极大的打击。

就像《黑客与画家》中说的,编程就像画画一样,起初是先画草稿,慢慢再填充细节。为什么要强调这种形式,因为编程的自由度太高了,有太多的方式实现了,没有标准答案,只有最佳实践,但是刚入门编程时,最佳实践反而是个诅咒。因为学生的习惯思维是找到正确答案,不找到那个唯一的答案就难受,所以很多程序员会自嘲,我写的程序莫名其妙就跑通了,这种自嘲其实就是在释放由错误的对编程的认识导致的妄自菲薄而产生的压力,你就是用自己的方式实现了功能,即使不是最佳实践,那也是自己智慧的成果,李小龙说过,不要否定自己,即使是自嘲也不行。

软件开发中不要太纠结于为什么,因为一个功能在一个地方实现了,但是在另一个场景实现不了的原因不重要,尽管你觉得很邪门,气不过,但是不要纠结,因为这会耽误时间,对自己积累更多的怀疑。