文章出处http://blog.jobbole.com/15032/
软件开发人员是一个日新月异的领域—–IT中的大师,今天的编程方式与明天的编程或许截然不同,技术在不断地革新,新语言、新平台的如雨后春笋般出现、更好的解决方案的冒出,因此我们需要跟得上节奏,我们别无选择,唯有努力提高自己。
下面的几点建议或许能帮助你成为一个优秀的开发者。
你是否听说过Kaizen这个词呢?简单地说就是“改良”的意思。当然它不仅仅是一个单词,同时代表着一种哲学,一个不断完善自我的理念。它需要客观的监督和改善。更多的细节可以从这里了解。
当然下面的建议是没有先后顺序的。
0. 阅读代码:
经常认真阅读他人的代码。寻找大家公认的优秀软件作品,学习其背后的运作原理,领悟他人解决问题的方法,有时候你也会遇到同样的问题,试着对比其技术和解决方案。
1. 编写代码:
在一个你还从未解决过的问题上多花点时间,尝试着培养自己的思考方法以及思维模式,你会因此而获得很多的乐趣。其实这样做并不难,而且它还是很好的问题反馈源。对于每个问题几乎任何时候都有不同的解决方法,学着用不同的方法解决问题,对比它们之间的优点和弊端,使用诸如模块化和系统集成的方式编程,因为那样写代码非常的简洁、清晰。
2. 跟上技术潮流:
在twitter和facebook、weibo等社交网络关注技术大牛,订阅你的RRS。及时了解新语言,对技术要有深入研究而不是仅仅停留在只会调用API的层面上。技术是要靠实力说话的,光忽悠没用,所以尽可能早的去深入了解。
3. 从不同的角度思考问题:
没错,你就是一个开发者,但是你会把自己的作品当做普普通通的产品吗?商业价值怎么样?写出来的软件能给你带来什么样的价值?需要用到哪些资源?有比软件带来更多价值还重要的事情吗?软件所表达的思想是什么?用户在使用过程中软件能扮演什么样的角色?这些问题看似很老套或者微不足道,其实不然,我们应该不断地去回答这些问题,开始不同角度思考问题。
4. 测试是开发者的工作:
未测试的代码就像一个未知的承诺,不去测试代码,编程技巧很难得到提高。作为用户,你会因为一个得不到保证的承诺而把钱交给一个完全陌生的人吗?用测试单元做功能和集成测试,证明你的代码可以正确执行,使他人放心地使用。把代码放到GitHub资源库上去。记住:扩大代码测试覆盖范围,减少代码的复杂度、去除代码的异味,不断调整、提高。
5. 在社区和开发者交流
向他人学习,和他人探讨问题。通过阅读他人代码提高自己的水平,同时尽可能去帮助他人,用一种开放地思维接受和分析他人的解决方案以及思想。
6. 每天交付可使用的部分
学会把大项目分解成为更小的,变成可交付使用的部分。做里程碑、做测试证明、做进度规划。分析和总结是必不可少的,此刻就把它记录下来,注意前后细节的变化,长期的积累将使你更加自信,外人对你会刮目相看,做一个快乐的程序员。
7. 忙里偷闲:
参加娱乐、体育活动、接触大自然。你的身体和大脑需要休息,经常站起来活动活动,切忌一直坐着盯着屏幕。
分享到:
相关推荐
以下是一些循序渐进学好JavaScript的方法: 1. **清楚JS的定位**:理解JavaScript作为客户端脚本语言的角色,主要任务是处理用户交互、更新页面内容、进行异步通信(Ajax)等。始终围绕这个核心思想去学习,有助于...
在学习过程中,不要急于求成,要循序渐进。从简单的程序开始,逐渐增加复杂度,同时保持对新知识的好奇心和热情。记住,真正的高手并非仅依赖特定的语言或工具,而是通过不断实践和自我领悟提升技能。无论使用哪种...
Python 学习是一个循序渐进的过程,需要不断练习和探索。通过逐步理解并掌握上述知识点,你将能够编写出高效、可维护的 Python 代码,并在各种应用场景中发挥 Python 的优势。记住,持续学习和实践是成为 Python ...
学习JAVA编程是一个逐步深入的过程,涉及多个阶段和关键知识点。首先,从JSP开始,学习基本的网页开发,通过创建简单的日记本应用来熟悉JSP...总之,学好JAVA编程是一个循序渐进的过程,涉及到广泛的知识和不断的实践。
课程进度建议分五个阶段,每个阶段都有针对性的项目和主题,旨在循序渐进地提升孩子们的编程能力和创新思维。后续的第二课至第四课预科,将围绕《我的世界》、《星球大战》和《点灯机器人》这三个项目进行深入学习,...
书中内容安排为24个学时,每一个学时都是建立在前一个学时的基础上,难度逐渐增加,循序渐进地带领学习者从初学者成长为熟练开发者。全书内容既注重理论知识的系统性,也兼顾到了实践操作的实用性,是适用于Linux/...
学习C++是一项挑战性的任务,因为它不仅包含丰富的语法,还涉及深层次的概念和...总的来说,学好C++是一个循序渐进的过程,需要耐心、实践和不断的学习。不要害怕挑战,持之以恒,你将逐渐成为一名熟练的C++开发者。
了 Bash 的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解 Bash 的所有特性, 在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用其他 语言的程序员,我能...
嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式 Linux 方向。这个方向可以分为三个阶段:嵌入式 Linux 上层应用、嵌入式 Linux 系统开发和嵌入式 Linux 驱动开发。 要...
2. 循序渐进、做个学习的有心人 学习CAD应当以理解为主,而非仅仅追求速度。这意味着在学习过程中,学生应仔细掌握每一个命令的含义及其潜在的变化,通过重复练习来深化对命令的理解,并能够灵活运用。例如,绘制...
这本使用大量的例子详细地介绍了Bash 的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash 的所有特性,在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用...
2. **教材选择:** 选择一本适合自己的入门教材,可以是Java或者Android开发相关的书籍,从理论到实践循序渐进。 3. **理解REST框架:** Android开发基于REST架构风格,需要对RESTful API设计原则有一定的了解。 4...
本书旨在通过一系列循序渐进的例子,帮助读者掌握SAS的基础知识和高级技巧,从而能够高效地进行数据处理和分析工作。 #### 书籍内容概览 1. **基础知识**:包括SAS程序的基本结构、数据步的使用、流程控制语句等。...
使用大量的例子详细地介绍了Bash的语法,各种技巧,调试等等的技术,以循序渐进的学习 方式,让你了解Bash的所有特性,在书中还有许多练习可以引导你思考,以得到更深入的知 识。无论你是新手还是老手,或是使用其他...
总的来说,学习游戏开发是一个循序渐进的过程,需要耐心和实践。从基础知识开始,逐渐拓展到高级主题,同时利用各种资源,如在线论坛(如GameRes.com的论坛)和专业书籍,将使你的学习之旅更加顺畅。保持对新技术和...
这本使用大量的例子详细地介绍了Bash的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash的所有特性,在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用...
这是一部难得的好书,作者循序渐进,娓娓道来,每一种数据结构和算法都给出了详细的实现代码和运行结果,而且代码质量极高,甚至可以直接照搬到商业软件开发中。此书的算法部分也很精到,比算法导论更容易学习和入门...
- **循序渐进的学习方式**:本书采取循序渐进的方式,帮助初学者逐步理解和掌握C++编程技巧。 #### 三、本书的编写目的与特色 - **编写目的**:本书旨在帮助那些缺乏编程基础的学生快速入门,并通过具体案例加深...