程序员是这样炼成的(7)-水滴石穿(转载)

2023-12-31 16:10

本文主要是介绍程序员是这样炼成的(7)-水滴石穿(转载),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  周末跟曾经的一位程序员同事聊天,他说他貌似遇到了技术的瓶颈了,最近一直在刻苦攻读,希望可以突破自己取得进步。有时候想想自己还挺惭愧的,高手们况且都还在不断的努力,自己的日子过的总是有点太安逸。我们总是在清醒的时候,喜欢为自己制定计划,每天要完成多少行代码,多少天要看完一本技术方面的书,但是计划总是没有办法实现,因为我们有一个口头禅叫”没时间”。

编程其实没有捷径可走,虽然你可以花很短的时候完成一本速成教材,但是你以后解决你遇到的问题时间肯定要比你学习的时间多的多,我们每天的工作就是新的练习和挑战,我们要尽可能的再平时认真对待我们遇到的问题,一个一个的攻克难题,实现量得积累,把我们的无知和丑陋都暴露在平时,在关键的时候,我们才能实现质的突破。那么作为一名软件开发人员,我们应该知道如何进行练习?如何提升自己的水平?如果把这个问题展开,那就太大了,我觉的我可以出本书来讨论了,在这里我只简单的跟大家分享下,我的感触在四方面进行练习和提高:

A.极限练习。
B.技巧练习。
C.模仿他人。
D.即兴思维。

 

一、极限练习
   人无论是运动还是思维都会有自己的一些极限值。我小时候体育成绩不多,1000米跑步成绩还不错,很多同学向我请教经验,有的说跑久了呼吸吃力。有的说跑久了肚子疼。老是说,其实我也一样,每次跑一段后就会发现自己,呼吸困难,心跳剧加。这个就是我们说的个人的运动极限,如果你能坚持下去,反复的练习,这个极限出现的时间,就可以往推迟,你的运动能力就能提升。如果你遇到的极限就放弃了,那么你永远都没有进步。
    编程也是如此,我们在工作中总会遇到大大小小的麻烦,你会为这些麻烦而头疼吗?你可以选择把这些问题放一放,等别人解决了自己再去copy下,也可以去请教‘百度’马上把问题也解决掉。但是这不是最好的解决办法,我很反对程序员们在自己连问题都没有看清楚,想都没有想的情况下,就去百度或者CSDN.编程的工作,就是用人脑去控制电脑的过程,很多人都不愿意让自己的大脑装些知识,这么问题都去请教,虽然看上去试谦虚好学,实质上确是思维懒惰。我在这里并不是反对大家多提问,多交流,而且希望大家可以在开始提问之前,把问题尽全力想清楚透彻,多尝试几次,挑战下自己思维的极限,不要以为头大就放弃了一次提升自己的机会,纸上得来终觉浅,绝知此事要躬行.

二、技巧练习
     你写的代码可以优化吗?你喜欢的编程语言支持正则表达式吗?你是不是创造了很多不必要的冗余代码,你会使用API吗?你掌握了你喜欢的编程语言的多少知识?多线程会吗?同步呢?我们每天都在至少做8小时的工作,你有没有想过在通过技巧的提高,对过去知识的总结,用6个小时去完成过去8个小时的工作?为自己赢得两个小时的休息时光,去维护自己的学习手册 。

三、模仿他人
      如果你没有看过或者用过别人的源代码,甚至连hello world 都不知道的,请跳过该节。像练字一样的,程序也可以临摹。你可以去一些开源社区,挑选你喜欢的任务或者功能来练习。也可以去下载一些源码,理解别人是怎么做出来这样的功能的,然后把源码删除,自己重新做一个相同功能的,或者寻找不同的风格或者用不同的编程语言来实现。你甚至可以在网络上找一个自己喜欢的小软件,尝试着去实现这个软件。这些都是练习,可以培养你在最快的时候里弄清楚需求,培养你读懂别人代码的速度,培养你思维的活跃度,快速的完成开发。
BTW,我前几天上网发现了一个非常不错的博客,我确定要把博主的全部文章中技术代码都实现一次。做为我4月的一个任务。:)

四、即兴思维
这一点的练习跟人的创新能力息息相关,你知道你喜欢的语言编出的最小的应用程序是多大吗?当你的同学,同事向你求助的时候,你会以最快的速度拿出解决方案吗?难道你没有发现这些豆是很好的练习和挑战,这些都是你作为一个程序员的责任。在紧急的关头,以优秀并且迅速的编程能力来满足需求,这是一种能力。

绳锯木断,水滴石穿,刚才说的这些练习都不一日之功,罗马也不是一天修成的,日积月累你才会发现原来自己在成长了。大家要勤加修炼!!

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/GODYAD/archive/2011/03/28/6284835.aspx

这篇关于程序员是这样炼成的(7)-水滴石穿(转载)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556534

相关文章

LabVIEW程序员是怎样成长为大佬

成为一名LabVIEW编程领域的“大佬”需要时间、实践、学习和解决复杂问题的经验。尽管LabVIEW作为一种图形化编程语言在初期可能相对容易上手,但要真正成为精通者,需要在多个层面上深入理解。以下是LabVIEW程序员如何逐步成长为“大佬”的路径: 1. 打好基础 LabVIEW的大佬们通常在初期会打下非常坚实的基础,理解LabVIEW编程的核心概念,包括: 数据流编程模型:Lab

提问的智慧(转载)

此文让我受益良多。值得一读,大家如果也觉得不错就一起来推~~~   ---------------------------------      在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。       首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们

Struts2常用标签总结--转载

Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于

程序员必备心理学——心流

心理学之心流 前言一、“心流”是什么?二、心流的好处二、如何进入心流心流状态的四个阶段第一个阶段:挣扎第二个阶段:放松第三个阶段:心流第四个阶段:巩固 进入心流的技巧 总结题外话 前言 你是否常常感觉自己明明学习了一整天,但是就是感觉没有太多的收获。这个时候除了你的学习方向等问题之外,也可能是你的学习方法太低效了。作者本人就经常有这种情况,好在偶然间在b站刷到一个大佬的这个心

【转载】ACM感悟

今天看了一篇我们学校前辈的ACM的感悟,觉得写的十分有道理,这里转载,文章还会不断的改进和更新。 原文链接:http://www.cnblogs.com/Chierush/p/3760870.html?ADUIN=1339764596&ADSESSION=1401536826&ADTAG=CLIENT.QQ.5329_.0&ADPUBNO=26349 声明:本文是写给弱校ACM新手的一点

程序员都在使用的画图工具

大家好,我是袁庭新。 程序员都在使用的画图工具,你一定没用过这款画图工具吧!我教程中的架构图都是用它来画的。 比如我编写的RDB工作原理图就是用draw.io绘制的,如下图所示: 再例如Redis集群故障恢复原理图我也是通过draw.io工具绘制的,如下图所示: 是不是觉得draw.io绘制的图形特别简洁、美观。它的官网是: https://www.drawio.com dra

GitHub:代码是程序员沟通最直接的手段

如果不是 Andreessen horowitz 的投资,估计 GitHub 很难被福布斯、CNN、纽约时报等传统媒体注意到。普通大众之前不了解这个工具,是因为它距离记者的世界太远了——GitHub 是一个程序员所使用的托管项目的服务。 但在一些程序员眼里,它不仅是托管项目的地方,还是“开源”项目的大本营,而且是提高程序员“技术水平”和“技术品味”的地方,更是一个程序员社交的地方。

黑马程序员---银行业务调度系统

模拟实现银行业务调度系统逻辑 需求分析: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 异步随机生成各种类型的客户,生成各类型用户的概率比例为:         VIP客户 :普通客户 :快速客户 =  1:6:3。 客户办理业务所

黑马程序员---空中网面试题

空中网4k/5k月薪挑选大四实习生的线程题     两年前,我们一个大四的学员去应聘空中网的实习生职位,空中网只给他出了三道线程题,拿回家做两天后再去给经理讲解,如果前两题做好了给4k月薪,第三道题也做出来的话就给5k的月薪。这样的实习薪水和招聘要求,不需要有工作经验的限制,纯粹是技术功底的比拼和考核,而不像许多其他公司非要招两年工作经验的人,逼得那些刚毕业和未毕业的大学生不得不去撒谎,不得不去做

黑马程序员---线程并发库

软件包 java.util.concurrent 在并发编程中很常用的实用工具类。 请参见:            描述 接口摘要BlockingDeque<E>支持两个附加操作的 Queue,这两个操作是:获取元素时等待双端队列变为非空;存储元素时等待双端队列中的空间变得可用。BlockingQueue<E>支持两个附加操作的 Queue,这两个操作是:获取元素时等待队列变为非空,以及