跳到内容

文章类别:编程

程序员的本质

Computers are useless. They can only give you answers. – Picasso
计算机没有什么作用。他们只能告诉你答案。——毕加索

很多人(包括我岳母)认为计算机变得如此智能,所以在不久的未来将不再需要程序员。另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题。甚至不少程序员对他们是做什么的都没有清晰的概念。

在这篇文章中,我想给不知情的人解释一下程序员到底是做什么的:

程序员是将人类想法翻译成计算机语言的译者。

他们是两种世界之间的纽带。你认为维护这个纽带很容易吗?

人类世界的背景

The problem with people is that they’re only human. – Bill Watterson
人类的问题是,他们只是人而已。——比尔·沃特森

人类是生物进化的产物,并且拥有独特而宝贵的器官——大脑,它能为程序员提供想法。大脑有组合复杂的新大脑皮层(对人类而言是独特的),还有从哺乳动物和爬行动物继承的旧结构。旧的大脑结构主要负责生殖(性)和生存(寻找食物或者躲避危险)。新大脑皮层进化成能够更好地支持这些功能,但是,它开始产生奇怪的副作用——意识、思考和好奇心。幸亏这些副作用的影响,人类产生了文明并在数千年后发明了计算机。
阅读更多 »

清除代码异味

今天,Venkat Subramaniam 就关于清除代码异味的话题给我们做了一个非常有趣的演讲。下面就是我记录的一些他的话。

为什么我们需要有质量的代码?

  • 敏捷开发方法是用来应付那些要求代码做大量改动的反馈信息的方法。
  • 如果程序没有用一种好的表达方式来表现,那程序会很难读,难维护,难修改。

什么是代码异味?

  • 代码异味是一种由写的很差的代码引起的一种有臭味的感觉,一种程序什么地方会有问题的感觉
  • 异味更多的是来自一种直觉,而不是一种有据可查的标准,当你看到有味的代码时你就“感觉”到了
  • 如果你不把异味清除,不久之后你就会习惯这种气味,不再对它有察觉
  • 用任何语言都能写出有异味的代码:即使最简单安全的语言,你也能做出天才才能想出的蠢事:)
  • 我们经常会意识不到自己在写很臭的代码,经常需要外人为我们指出这点
    • 边注:如果你不想刻意去批评某人的程序,不要说“太愚蠢了”,要说“哦,这很有意思…。可有一种更好的方法你知道吗”

重复的代码

  • 会引起程序里面多个地方相同的错误
  • 印度小伙:每两个月我们都会把这相同的错误修改一次
  • Venkat:你们去掉了重复的代码了吗?
  • 印度小伙:你说的这个方法不错!

不必要的复杂

  • 程序员本质上讲高兴去处理复杂的问题
  • 复杂最恐怖

阅读更多 »

优秀网页设计的10个设计技巧

作为一名网页设计师,如何在第一时间打动潜在的客户是至关重要的。如果你设计的东西不能够打动他们,你就会失去一切,这个世界有的时候就是这么的现实。那究竟要注意哪些细节才能够在一个正确的方向去打动客户,让浏览者源源不断呢!?下面几点可能是你需要反思的。

1、有明确的标志和口号

我们知道有一个好的标志是企业形象的开始。好的口号可以让你以更快的速度去曝光自己的站点。在互联网时代,这是重要的开始。

2、让你的页面遵循用户体验,易于浏览

这点相信我们都有着切身的体会。好的网站是不需要你思考的,它有好的人机交互设计和用户体验。让你以最快的速度去融合于设计,这才是真正的设计,源于生活的设计。这会让你有更多的浏览量的保障。用最段的距离诠释最好的创意。

3、可以方便的与其联系

网站的设计也算是服务网页,我们必须遵循客户的使用感受和各种提议,所以给予方便的联系可以更好的修正错误的体验方式,让系统更加完善,更快的做出解决方案! 阅读更多 »

软件工程师,你真的喜欢你的工作吗?

我喜欢这种做事方式。首先,我在Facebook日志页面上寻求反馈,询问人们喜欢看什么样的文章。有人希望得到更多的从前辈那里来的关于个人事业上的忠告,而正好出现了两篇这方面的文章,让我轻松了一下。在这个行业里,如果你想找,你会找到很多从有经验的人哪里提供的人生事业上的忠告建议。今天,我的主要目的是要让你——一个软件工程师——弄清楚自己是否正走在正确的道路上。基本上,软件工程师是一个非常辛苦的工作,通常压力非常的大。所以,如果你并不是真正的喜欢你现在的工作,你需要采取行动,找到你真正喜欢甚至热爱的事情。问题就在于你如何知道现在是做这种改变的时机?

Erik Petterson有一篇非常有趣的文章,他把工作对工作的满意情况比作咖啡桌。这是一篇非常有趣的博客,对检测你是否喜欢你的工作做了一个非常好的总结:

对那些不能融入自己的工作的人的建议。列出对工作的满意情况的清单。问自己,“我获得的报酬合理吗?我是否喜欢我正在做的事情,我在跟什么人做这些事情,好时光看上去是否还会继续吗?”

有很多的网站都可以找到你当地的软件工程师的平均薪资水平。你需要确保你的薪资水平至少是在平均水平以上。 阅读更多 »

从日本的生活品质看用户体验设计

国内近些年开始流行用户体验,从互联网到传统行业,都开始讲究用户体验。这也是时代发展的产物,国人已经不能满足于早期的“有就行”,在竞争激烈的市场环境中开始追求品质,谁家的东西好用才选谁。

用户体验不是单独的个体,它是系统中所有环节必不可少的部分。

小日本没有把用户名体验单独拿出来的说法,他们所有的建筑设计、工业设计、包装设计、服务业、制造业等领域,过程中是必须处理好和人的关系。一位 Panasonic的工程师在介绍未来智能家庭产品时说:“这里所有的投影仪、触控板、灯光、相机、地板那怕到一颗螺丝都是一个整体,这里所有的东西都是为人服务的。”

日本的客房不大,但你不会感觉挤,所有的布局都是经过精心设计,你可以观察,再小的房子,一定会有卫生间,在我们看来不可思议的空间里,还能放下马桶、洗脸台、浴缸。而这些东西不是简单的挤在一起,在使用的时候,完成不会觉的不顺手,集成度非常的高。

这可能和小日本他们从小的教育有关系,他们强调集体主义,做所有的事要先想一下别人的感受。在日本你过斑马线,汽车一定是在斑马线外等候,不会开上来恐吓,更不会直接从你前面飞过。 阅读更多 »