11
Digg
Stumbleupon
Technorati
Delicious

程序员新年要做的10个决定

还剩不到一周的时间,我们将迎来 2012 年。我知道这是老生常谈,但今年你曾经有过什么样重要的经历?很自然的,我们现在正处于为新年许下目标的时候。也许你可能有“真实”生活中的一些目标,但是你的程序员生涯呢?   1 -学习一种新语言,框架或方法   我们必须保持学习最新的技术。   Web 开发唯一不变的是变化。以 NodeJS 为例:两三年前它并不存在,只有很少(如果有的话)的 JavaScript 代码运行于服务器之上。现在,你离不开它。每个 Web 开发人员都希望留在自己的作品里。要做到这一点,我们必须不停学习最新的技术。如果你是一个后端开发,这可能代表着学习 JavaScript 和 Node.js,类似于 Ruby 和 Rails。对于前端开发,则可能意味着真正理解 CSS3 或掌握 HTML5 新的 API。当然,这并不意味着你必须经常使用它,只需要保持自己不断学习。 按照同样的思路,对于重新评估你的工作流程、学习更好的和不同的工具以更快速地完成工作来说,现在是一个很好的时间。   2 –让你掌握的内容更精深 也要预留一段时间来关注现有的语言和软件。   当然,保持锋利比学习新的内容有更大意义。它也包括改善你使用日常工具的方式。我知道自己一直坚持使用熟悉的的模式和方法而不是学习在某个特定情形下更佳的方案是不对的。你知道关于 JavaScript设计模式的那些事吗?你对 PHP 的面向对象和面向功能编程是否有扎实的理解?你是否曾经使用过 SQL 连接?你使用的文本编辑器里是否有没有用过的功能?这些都不是新技术,但是如果你不使用它们,它们对你来说就是全新的!也要在关注现有的语言和软件上预留一段时间。   3 -探索一个新的领域   这项内容与第一项并不相同。学习一种新的语言、框架,或自己领域里的方法是重要的,甚至对你的日常实践来说可能会有用。但如果你像我一样,你会迷上网络上的每一部分。要尝试探索新的领域。对后台开发来说是深入研究前端开发,而对前端来说是探索可用性或用户体验。如果你喜欢写作,你可能会对内容策略或培养设计灵感感兴趣。在网络上有几十个不同的领域,继续探索!   4 –参与社区   把它叫做参与,把它叫做结网,把它叫做任何你想要的。   该网站极度令人不可思议:我想不出有任何其他的现象,人与人之间相隔那么远,却结下如此深厚的友谊。2012年,你为什么不更多的尝试参与到这个令人惊讶的团体中呢?在 Twitter 上与他们交谈,阅读他们博客的文章和评论,或者通过自己写文章来作为回应;通过 Github 或其他代码共享网站贡献自己的代码。或者加入自由讨论会,用户组和各种会议。把它叫做参与,把它叫做结网,把它叫做任何你想要的,但有一点是肯定的:它会在大多数情况下让你和其他人受益。此外,建设新的重要人际关系,你可能会获得新的转机!   5 –教导他人   最有益的评论是伤害你感情的那些。   你应该认同我们之前的观点,在 2012 年更多的教导他人。为什么呢?它将会带来些什么呢?“教导是最好的学习”?我已经为 Nettuts + 写作了近三年,我可以证明,这种说法是完全正确的。写下一个原理是如何工作的能够迫使你完全理解它,当你尝试教导别人时,你会惊讶对这个话题更了解了多少。最重要的是,当你知道曾经帮助别人学习新的技能时你会有不可思议的感觉。毫无疑问,你将遇到几个反对的声音,例如指出你语法的错误(或只是一些害群之马的评论)。不用有太多的担心;教学是一个学习的过程,你这样做会提高你自己。最有益的评论是伤害你感情的那些。 [...]

Author: jianyun
06
Digg
Stumbleupon
Technorati
Delicious

光与影以及思维

 孤独是特立独行的赠予! 一个人的快乐,有时胜过一群人的狂欢! 躲在世界的一隅,静静享受生活的美! 美丽的东西总是很少人参与,这是宿命! 思念铺张,模糊了城市的光! 麻木的生活并没有麻木我的好奇心,世界对于我仍是一片未知! 化了妆,决计要吓一吓路人,却最终发现惊吓的只是自己,世界早已远去! 衣架悬挂了孤单,城市承载了一切! 阳光下的晕眩,是不可多得的青春纪念! 你的声音就是温暖,哪怕是大雪弥漫! 有你便再无恐惧! 故事的开头总是美丽,为什么结束却总是如此荒凉? 游弋在城市上空的快乐,俯瞰无奈而又无辜的悲哀!

Author: jianyun
30
Digg
Stumbleupon
Technorati
Delicious

让程序员愤怒的10件事

程序员是一个比较特殊的群体,他们因为长期和电脑打交道所养成的性格和脾气也是比较相近的。当然,既然是人,当然是会有性格的,也是会有脾气的。下面,让我来看看10件能把程序惹毛了的事情。   第十位:程序注释 程序注释本来是一些比较好的习惯,当程序员老手带新手的时候,总是会告诉新手,一定要写程序注释。于是,新手们当然会听从老手的吩咐。只不过,他们可能对程序注释有些误解,于是,我们经常在程序中看到一些如下的注释: 每当看到这样的注释——只注释是什么,而不注释为什么,相信你一定会被惹火,这是谁写的程序注释啊?不找来骂一顿看来是不会解气了。程序注释应该是告诉别人你的意图和想法,而不是告诉别人程序的语法,这是为了程序的易读性和可维护性,这样的为了注释而注释的注释,分明不是在注释,而是在挑衅,惹毛别人当然毋庸置疑。   第九位:打断 正当程序沉浸于编程算法的思考,或是灵感突现正在书写程序的时候,但却遭到别人的打断,那是一件非常痛苦的事情,如果被持续打断,那可能会让人一下子就烦躁起来。打断别人的人在这种情况下是非常不礼貌的。被打断的人就像函数调用一下,当其返回时,需要重新恢复断点时的现场,当然,人不是电脑,恢复现场通常是一个很痛苦的过程,极端的情况下可能需要从头开始寻找思绪,然后一点一点地回到断点。 因此,我看到一些程序员在需要安静不被打扰的时候,要么会选择去一个没人找得到的地方,要么会在自己的桌子上方高挂一个条幅以示众人——“本人正执行内核程序,无法中断,请勿骚扰,谢谢!”,可能正在沉浸于工作的程序被打断是多么大的开销。自然,被打断所惹毛了的人也不在少数了。   第八位:需求变化 这个事情估计不用多说了。只要是是程序员,面对需求变化的时候可能总是很无奈的。一次两次可能还要吧接受,但也顶不住经常变啊。据说敏捷开发中有一套方法论可以让程序员们享受需求的变化,不知道是真是假。不过,今天让你做一个书桌,明天让你把书桌改成餐桌,后天让你把餐桌改成双人床,大后天让你把床改成小木屋,然后把小木屋再改成高楼大厦。哎,是人都会被惹毛了的。那些人只用30分钟的会议就可以作出任何决定,但后面那几十个程序员需要搭上几百个小时的辛苦工作。如果是我,可能我也需要神兽草泥/马帮助解解气了。 不过,这也正说明了,程序员并不懂得怎么和用户沟通,而用户也不懂得和程序员沟通,如果一个项目没有一个中间人(如:PM)在其中协调的话,那么整个项目可能就是“鸡同鸭讲”,用户和程序员都会被对方所惹毛了。如果要例举几个用户被惹毛的事情,估计程序员的那种一根筋的只从技术实现上思考问题的方法应该也能排进前5名。   第七位:经理不懂技术 外行领导内行的事例还少吗?领导一句话,无论对不对,都是对的,我们必需照做,那怕是多么愚蠢多么错误的决定,我们也得照做。程序员其实并不怕经理不懂技术,最怕的就是不懂技术的经理装着很懂技术。最可气的是,当你据理力争的挑站领导权威的时候,领导还把你视为异类。哎,想起这样的领导别说是骂人了,打人的冲动都有了。 其实,经理只不过是一个团队的支持者,他应该帮助团队,为团队排忧解难。而不是对团队发号施令。其实管理真的很简单,如果懂的话,就帮着做,如果不懂的话,就相信下属,放手让下属做。最怕的就是又不懂技术,还不信任下属的经理了。哎,这真是程序员的痛啊。   第六位:用户文档 用户文档本来不应该那么的令人害怕。这些文档记录了一切和我们所开发的软件有关的一些话题。因为我们并不知道我们所面对的用户的电脑操作基础是什么样的,所以,在写下这样的文档的时候,我们必需假设这个用户什么也不懂。于是,需要用最清楚,最漂亮的语言写下一个最丰富的文档。那怕一个拷贝粘贴的操作,可能我们都要分成五、六步来完成,那怕是一个配置IP地址的操作,我们也要从开始菜单开始一步一步的描述。对于程序员来说,他们在开发过程中几乎天天都在使用自己开发的软件,到最后,可能都有得有点吐了,但还得从最简单的部份写这些文档,当然容易令他们烦燥,让程序员来完成这样的文档可能效果会非常不好。所以,对于这样的用户文档,应该由专门的文档人员来完成和维护。   第五位:没有文档 正如上一条所说的,程序员本来就不喜欢写文档,而因为技术人员的表达能力和写作能力一般都不是太好,所以,文档写的也很烂。看看开源社区的文档可能就知道了。但是,我们可爱的程序员另一方面最生气的却是因为没有文档。当然,让面说是的用户的文档,这里我们说的是开发方面的文档,比如设计文档,功能规格,维护文档等等。不过,基本上都是一样的。反正,一方面,我们的程序员不喜欢写文档,另一方面,我们的程序又会被抱怨没有文档,文档太少,或者文档看不懂。呵呵。原来在抱怨方面也有递归啊。据说,敏捷开发可以降低程序开发中的文档,据说他们可以把代码写得跟文档和示图似的,不知道是真是假。不过,我听过太多太多的程序员抱怨没文档太少,文档太差了,这个方面要怪还是怪程序员自己。   第四位:部署环境 虽然,程序员们开发的是软件,但是我们并不知道我们的程序会被部署或安装在什么样的环境下,比如,网络上的不同,RAID上的不同,BIOS上的不同,操作系统的不同(WinXP和Win2003),有没有杀毒软件,和其它程序是否兼容,系统中有流氓软件或病毒等等。当然,只要你的软件出现错误,无论是你的程序的问题,还是环境的问题,反正都是你的问题,你都得全部解决。所以,程序员们并不是简单地在编程,很多时候,还要当好一个不错的系统管理员。每当最后确认问题的原因是环境问题的时候,可能程序员都是会心生怨气。   第三位:问题报告 “我的软件不工作了”,“程序出错了”,每当我们听到这样的问题报告的时候,程序员总是感到很痛苦,因为这样的问题报告等于什么也没有说,但还要程序员去处理这种错误。没有明确的问题描述,没有说明如何重现问题,在感觉上,当然会显得有点被人质问的感觉,甚至,在某些时候还掺杂着看不起,训斥的语气,当然,程序员基本上都是很有个性的,都是软硬不吃的主儿,所以,每当有这样的语气报告问题的时候,他们一般也会把话给顶回去,当然,后面自己然发生一些不愉快的事情。所以,咱们还是需要一个客服部门来帮助我们的程序员和用户做好沟通。   第二位:程序员自己 惹毛程序员的可能还是程序员自己,程序员是“相轻”的,他们基本上都是持才傲物的,总是觉得自己才是最牛的,在程序员间,他们几乎每天都要吵架,而且一吵就吵得脸红脖子粗。在他们之间,他们总是被自己惹毛。 技术上的不同见解。比如Linux和Win,VC++和VB,Vi和Emacus,Java和C++,PHP和Ruby等等,等等。什么都要吵。 老手对新手的轻视。总是有一些程序员看不起另一些程序员,说话间都带着一种傲慢和训斥。当新手去问问题的时候,老手们总是爱搭不理。 在技术上不给对方留面子。不知道为什么,程序员总是不给对方留面子,每当听到有人错误理解某个技术的时候,他们总是喜欢当众大声指证,用别人的“错误”来表明自己的“博学”,并证明他人的“无知”。 喜好鄙视。他们喜好鄙视,其实,这个世界上没有一件事是完美的,有好就有不好,要挑毛病太容易了。程序员们特别喜欢鄙视别人,无论是什么的东西,他们总是喜欢看人短而不看人长。经常挂在他们嘴上的口头禅是“太差”、“不行”等等。 程序员,长期和电脑打交道,编写出的代码电脑总是认真的运行,长期养成了程序员们目空一切的性格,却不知,这个世界上很多东西并不是能像电脑一样,只要我们输入正确的指令它就正确地运行这么简单。程序员,什么时候才能变成成熟起来……   第一位:程序员的代码 无论你当时觉得自己的设计和写的代码如何的漂亮和经典,过上一段时间后,再回头看看,你必然会觉得自己的愚蠢。当然,当你需要去维护他人的代码的时候,你一定要在一边维护中一边臭骂别人的代码。是否你还记得当初怎么怎么牛气地和别人讨论自己的设计和自己的代码如何如何完美的?可是,用不了两年,一刚从学校毕业的学生在维护你的代码的过程当中就可以对你的代码指指点点,让你的颜面完全扫地。呵呵。当然,也有的人始终觉得自己的设计和代码就是最好的,不过这是用一种比较静止的眼光来看问题。编程这个世界变化总是很快的的,很多事情,只有当我们做过,我们才熟悉他,熟悉了后才知道什么是更好的方法,这是循序渐进的。所以,当你对事情越来越熟悉的时候,再回头看自己以前做的设计和代码的时候,必然会觉得自己的肤浅和愚蠢,当然看别人的设计和代码时,可能也会开始骂人了。

Author: jianyun
16
Digg
Stumbleupon
Technorati
Delicious

上方山踏青,感受春天的气息

如果不是春暖花开,或许我不会感叹春天的脚步已经来临;如果不是惊叹于你绽放的姹紫嫣红,或许我不会用心灵记录下春天的繁花似锦。 4月的上方山百花盛开,尤其漫山的樱花,不经意间随风飘落的花瓣都是那么的引人入胜。 清明,踏青,上方山。 下面,有我用那瘦弱不堪的卡片机给你慢慢呈现上方山的春色。

Author: jianyun