文章来自quora这个问题下的一个回答:What are the things that a programmer must know (obviously besides programming languages)?
当然了,精通编程语言对程序员而言是最基础的事。
程序员最重要的能力是抽象思考的能力。通常,程序使用的抽象层级越高越好。抽象出一个事物或者逻辑的本质是你最需要练习的事。
拆分然后逐一解决:一个优秀的程序员不会一上来就直接解决一个很大很困难的问题,会把一个难题拆分成很多小的并且很容易解决的问题,再去逐一解决。
-
找出模式。这需要有一定的经验,把面对的问题通过我们已经有的轮子的来解决是一种非常好的编程方式。这比只知道一个一个解决眼前的问题不知道高到哪里去了。
这里来个段子:在一场面试中,一个程序员被问到如果微波炉会引起火灾会怎么做。他说我会把它丢出去(throw)。面试官没有get到。再问:好吧,如果咖啡机也会着火呢?程序员回答到:把咖啡机放进微波炉然后一起丢出去。因为我们已经有了一个解决方案。
所以,如果能把一个问题转化成我们已经解决的问题这是极好的。
写出高质量的代码但别被完美主义套牢。我们都想写出完美的优雅的代码,然而,如果你花了太多时间去追求这些有时真的不划算。
经验。写,写,写。重要的事情说三遍。
欢迎关注我的微博:@没故事的卓同学