title: 菜鸟，想听听大牛谈谈怎么提升编程内力?
desc: 我是个初级程序员，一年工作经验。Windows下cc编程。<br>安全反病毒方向，偏系统编程，网络编程。会点逆向，调试一类的很渣。<br>工作之前觉得自己还挺好的，工作之后越发觉得自己真烂，写的一手烂代码，只能算是勉强能做出东西来，bug不少，设计混乱，各种重复，各种又臭又长的函数。工作之前的这2-3年一只是面向过程的设计，面向对象的设计还真是不是很会写，不过工作以来也领悟了一些。编码上的硬伤我正在着手慢慢改，但是设计上的硬伤我觉得更需要找大神们聊聊。需要多写代码，一点一点积累是肯定的，但是理论层面的学习呢？应该读读设计模式？应该看开源项目的框架？<br>另外我这算法也比较烂，都是大学算法与数据结构书上那点，买了本算法导论，翻来翻去就是前10章，往后学不下去，不过昨天看了轮子哥的一种学习方法，我领悟着好像说的是只需要记住每种算法和数据结构的优缺点，然后用的时候去查书实现就好了，不知道领悟的对不对？？？<br>对了。还有个高端东西叫编译原理？我大学没这个课，我几个月之前自己尝试下载了本龙书的pdf看了看。表示感觉很没意思啊，看不进去啊。也可能当时心态不好，总是感觉就是看了几章无法理解，然后就扔在一边不看了。这玩意要花多长时间学啊？？我做个心理准备调整调整心态。<br><br>还有什么敏捷开发？TDD都是只听过名字？菜鸟这个水平需要看看么？另外还有这种练内功的东西？希望各位菊苣多推荐啊。。。小菜鸟原来太注重招式的修炼了，觉得是时候练练内功了。
topic: 程序员
content: 比较普通的大学生一个，资历尚浅，所以匿名了。以下是一些自己的体会： 一算法：基础不好强行看算法导论吸引率很低。我一直没有认真看过算法导论（不是说不能，而是我觉得有点困难）相对而言，刷刷题看看博客比较轻松。我认为可以从这条路线学起：模拟，动规和图论相辅，自认为差不多了就补充一下平衡树，网络流，计算几何等等。一天抽一会儿时间学算法就好，一两年下来算法水平就足够用了。多看题解，另外不要背模板（会忘