循序渐进学编程

原创 2012年03月23日 12:33:09

软件开发者是一个日新月异的领域——IT 中的大师,今天的编程方式与明天的编程或许截然不同,技术在不断地革新,新语言、新平台的如雨后春笋般出现、更好的解决方案的冒出,因此我们需要跟得上节奏,我们没有选择,唯有努力提高自己。

  下面的几点建议或许能帮助你成为一个优秀的开发者。

  你是否听说过 Kaizen 这个词呢?简单地说就是“改良”的意思。当然它不仅仅是一个单词,同时代表着一种哲学,一个不断完善自我的理念。它需要客观的监督和改善。更多的细节可以从这里了解。

  当然下面的建议是没有先后顺序的。

  0. 阅读代码:

  经常认真阅读他人的代码。寻找大家公认的优秀软件作品,学习其背后的运作原理,领悟他人解决问题的方法,有时候你也会要到同样的问题,试着对比其技术和解决方案。

  1. 编写代码:

  在一个你还从未解决过的问题上多花点时间,尝试着培养自己的思考方法以及思维模式,你会因此而获得很多的乐趣。这样做并不难,而且它还是很好的问题反馈源。对于每个问题几乎任何时候都有不同的解决方法,学者用不同的方法解决问题,对比它们之间的优点和弊端,使用诸如模块化和系统集成的方式编程,那样写代码非常的简洁,清晰。

  2. 跟上技术潮流:

  在 twitter 和 facebook、weibo 等社交网络关注技术大牛,订阅他们的 RRS。及时了解新语言,对技术要有深入研究而不是仅仅停留在只会调用 API 的层面上。技术是要靠实力说话的,光忽悠没用,所以尽可能早的深入了解。

  3. 从不同的角度思考问题:

  没错,你就是一个开发者,但是你会把自己的作品当做普普通通的产品吗?商业价值怎么样?写出来的软件能给你带来什么样的价值?需要用到哪些资源?有比软件带来更多价值还重要的事情吗?软件所表达的思想在于什么?用户在使用过程中软件能扮演什么样的角色?这些问题看似很老套或者微不足道,其实不然,我们应该不断地去回答这些问题,开始不同角度思考问题。

  4. 测试是开发者的工作:

  未测试的代码就像一个未知的承诺,不去测试代码,编程技巧很难得到提高。作为用户你会因为一个得不到保证的承诺而把钱交给一个完全陌生的人吗?用测试单元做功能和集成测试,证明你的代码可以正确执行,使他人放心地使用。把代码放到 GitHub 资源库上去。记住:扩大代码测试覆盖范围,减少代码的复杂度、去除代码的坏味道,不断调整、提高。

  5. 在社区和开发者交流

  向他人学习,和他人探讨问题。通过阅读他人代码提高自己的水平,同时尽可能去帮助他人,用一种开放地思维接受和分析他人的解决方案以及思想。

  6. 每天交付可使用的部分

  学会把大项目分解成为更小的,变成可交付使用的部分。做里程碑、做测试证明、做进度规划。分析和总结是必不可少的,此刻就把它记录下来,注意前后的变化,长期的积累将使你更加自信,外人对你刮目相看,做一个快乐的程序员吧。

  7. 忙里偷闲:

  参加娱乐、体育活动、接触大自然。你的身体和大脑需要休息,经常站起来活动活动,切忌一直坐着盯着屏幕。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

循序渐进学编程

软件开发者是一个日新月异的领域—–IT中的大师,今天的编程方式与明天的编程或许截然不同,技术在不断地革新,新语言、新平台的如雨后春笋般出现、更好的解决方案的冒出,因此我们需要跟得上节奏,我们没有选择,...

黑马程序员———循序渐进学编程

软件开发人员是一个日新月异的领域—–IT中的大师,今天的编程方式与明天的编程或许截然不同,技术在不断地革新,新语言、新平台的如雨后春笋般出现、更好的解决方案的冒出,因此我们需要跟得上节奏,我们别无选择...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

循序渐进学编程

英文原文:Continuous improvement 软件开发者是一个日新月异的领域——IT 中的大师,今天的编程方式与明天的编程或许截然不同,技术在不断地革新,新语言、新平台的如雨后春笋般出...

Implements Developer 循序渐进学编程

We developers are the masters of an ever-changing field. What programming is today usually isn’t the...

循序渐进Socket网络编程(多客户端、信息共享、文件传输)

前言:在最近一个即将结束的项目中使用到了Socket编程,用于调用另一系统进行处理并返回数据。故把Socket的基础知识总结梳理一遍。1、TCP/IP协议  既然是网络编程,涉及几个系统之间的交互,那...

循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)

目录[-] 一、TCP/IP协议 二、TCP与UDP 三、Socket是什么 四、Java中的Socket 五、基本的Client/Server程序 六、多客户端连接服务器 七、信息共享 八、文件...

循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)

前言:在最近一个即将结束的项目中使用到了Socket编程,用于调用另一系统进行处理并返回数据。故把Socket的基础知识总结梳理一遍。 一、TCP/IP协议   既然是网络编程,涉及几个系统之...
  • lt26w
  • lt26w
  • 2014-07-21 09:33
  • 500

循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)

前言:在最近一个即将结束的项目中使用到了Socket编程,用于调用另一系统进行处理并返回数据。故把Socket的基础知识总结梳理一遍。 1、TCP/IP协议   既然是网络编程,涉及几个系统之间的交互...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)