多思考多实践,不要沦为码农

软件随想
服务器君一共花费了155.748 ms进行了5次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

一天一天,一年又一年,我们到底都做什么,为自己留下了什么,收获了什么,成长了多少,让你记忆深刻的事是什么,让你最兴奋的事是什么,让你最想扇自己的事情是什么,它们的原因是什么。你是否思考的时间比写代码的时间长,每次开发的时候你的功能分析到什么程度你就开始写代码,你修改和重写的次数多吗,是否曾经因为将功能分析得非常透彻而让你很快的把功能搞定。是否经常在没有搞清楚状况的时候就开始写代码,到现在为止你认真看了多少本很好的书籍。你的工作让你兴奋吗?兴奋吗?兴奋吗?

Follow me

C#搞了这么久(快3年了),怎么就是没有成为C#高手,3年了,怎么就没有相对的掌握一门语言,我都做了什么,每天都在干嘛,难道真的是个码农,整天忙碌的对着电脑我到底在干嘛,写重复的代码,按照别人的思路来完成功能,什么时候能对自己说,我要先认真的思考分析,至少要在搞清楚状况的情形下开始写代码,什么时候对别人说:FUCK,我想按照自己的思路来,我已经想了很久了,现在思路非常清晰,而且觉得还不错。

你是否总是在跟着别人的思路走,有意思吗,你有先思考过吗,什么时候能因为你早就知道怎么实现一个功能,且能很快的表达出来,而你的听众告诉你:请说慢点,你那个是什么意思,我还没有搞懂。总做一个执行者我受够了,我有我自己的头脑,我会思考。

多想一下,你会有更好的解决方案

很多时候我们都用了第一个想到的解决方案,它并不那么完美,虽然能满足基本的需求,它可能存在概率很小的BUG,它可能没有很好的扩展性。是的它让你完成了任务,但是你可能少了一次尝试新方案的机会,可能少了一次提高自己的机会,少了一次让自己兴奋和快感的机会,因为我们的大部分编码工作并不是那么的让人兴奋。当你一次次的不满足于第一解决方案时,你会发现:哦,原来,我不仅仅是一个码农,而是码农中码农。

学习当然就离不开书。书是人类进步的阶梯,有了梯子就可搭建第二层第三层。顺便推荐几本书:《代码大全2》(你能看懂,并且收获很多),《Effective C++》(有C/C++基础的C#程序员可以看看,这本书讲的都是写C++代码的准则,通过这本书你会明白++i的效率高于i++,字符串相加到底分配了几次内存,和C#有点不一样,多维数组是怎么实现的,还有内存管理和面向对象设计的一些理念),《CLR via C#》(C#程序员必看书籍,有家大公司公司用行动证明了这句话,除了算法题其他的都是这本书上的)。

属于自己的实战

很多东西我们是学来的,有时候真的不确定是否正确,但有一句话我认为一定是对的:尽信书,不如无书;纸上得来终觉浅,绝知此事要躬行。有些时候有必要自己去证实一下,比如有人说《软件随想录》这本书是陈太汉写的;有人说if else的效率比if高;有人说lambda的效率低,我就觉得lambda的效率比我自己写的代码效率高啊。那到底lambda的效率高不高呢,你用Reflector看一下源码不就知道了,写一些代码PK一下不就知道了。Reflector还真是个好东西,通过它你可以知道你一直在用的类和函数是怎么实现的,你可以知道微软的程序员是怎么写代码的,有了源码你还怕你学不会一个新特性吗,你还会怕有一段时间没有用了而忘记吗,你还怕别人问题你会不会用XXX吗,你还怕你不鄙视别人这样问你吗,你还怕你会进入这么问题的面试官所在的公司吗?你还真把我当码农啊,会不会用!(妈的,为什么高中作文的最后一段非要写这么烂的排比句才能拿高分,别问我为什么,实战证明的确如此)。

受够了实践,我要理论一下

为什么在我没有实践的情况下老师要教我那么多理论,他们在教我们空中花园是怎么回事,它是多么的美丽,会为我们带来什么好处便利。天啊,我不会飞,连梯子都不会搭,你总跟我说些云里雾里的东西,你到底有什么企图。现在我有自己蹩脚的梯子了,我想上一层,我要做第二层,第三层。。。谁来教我。我现在会用工具了,我有实践的经验了,我想把房子做得更好点,我更需要的是经过实战的理论。由于思考得比较少,总是在码代码,自己完全感觉不到,至少在一两个月内很难感觉到自己在进步,但是如果你有足够的实战,然后在看看一些经典的书籍,你就会有豁然开朗的感觉,在感觉书很好的同时,高兴的心情也让自己觉得自己进步了。

没有搞清楚状况按兵不动

你是否经常在没有搞清楚状况的时候就开始写代码,你是否经常在没有搞清楚状况的时候就发表言论,我会,但我很不喜欢这样的自己。我很欣赏林彪,要么不开口,一开口1,2,3,4,5,6,7,8;说得你目瞪口呆,服服帖帖,哦!原来是这样的啊。当你发现“哦,原来是这样的时候,你是修改你的代码还是重来一遍”。爱因斯坦有句名言是“思考,思考,再思考”。难道他真的是用一支笔搞出相对论的吗,NO,NO,NO,是思考。当然我们也不是用电脑搞出程序的,你懂的。

本文地址:http://www.nowamagic.net/librarys/veda/detail/1853,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/1853

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《算法导论(原书第2版)》 科曼(Cormen T.H.) (作者), 等 (作者, 译者), 潘金贵 (译者)

《算法导论(原书第2版)》一书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。

更多计算机宝库...