background image

分之九十多的市场占有率来看,

HTC 

 

 

还是很有前景。 然后是

XML   

XSL

 

,别告诉我现在你还不会

XML,会了 

XML 

 

再学学

XSL 

 

不过是一两天 的工夫。

    

 

实际上最重要的不在于技术,而在于要学会人性化的设计,学会体贴用户。这是设计理念的 问题:按钮在哪

 

里合适?字体多大舒服?颜色如何不刺眼等等。 以上这些是前端程序员的工作,完全没有美术的技巧。

Web 设计

 

 

师应该掌握一些美术的知 识,至少要懂得审美。 首先是要会配色,哪怕图片做得不好,配色一定要好

, 不然配出

 

狗屎色会恶心死人。 所有设计都要考虑到人的因素。是看的人,浏览的人是否觉得好看,而不是设计的人觉得好

 

 

看。例如,给一个老年人看五颜六色的东西,你觉得他能接受吗? 图片设计由美工来发挥,但要整体的考虑,系
统的色调

, 主题, 

 

风格要一致,不是单独一个 图片好看,就可以放上去用的。以前常看到新手设计网站,先找一

 

gif 

 

动画,在

frontpage 上东放一个西放一个,你说这是设计网站? Web 设计师需要在美工的图片上进行

加工切图,因此图的大小,图的质量,图的格式

 

 

都需 要经过仔细考虑。图片如何切适用于

css,如何能够最少

   

的使用图片,这很有讲究。不然直接 贴

1024*768 

   

的图片到网站算了 要

Web 

 

设计师干什么。 有一个需要重点

 

的考虑的问题,是网站的目录结构。如何分目录能够清楚地放置

js,css,html,htc 等等,这需要通盘考虑, 

 

也就是要和后台技术一起考虑。例如用了

Struts 

 

 

的多 模块,那么就需要分

module

 

,每个

module 单独使用 

include 

 

 

等等。 前几天看了一个

blog 

 

中提到对中国的

web 设计师的评价: "上一代的文化因为文革有断层,

 

 

导致欣赏水平不高,这一代的教育有问题,导致创意力缺乏,下一代努力一点基本可以赶上 外国水平

"  

。 说了这

 

 

么多,嘿嘿,实际上,大多数公司都不重视这个角色,往往的,美工作的图由她自己 切好做成

html,然后交给

 

程序员,程序员做成

jsp

 

,之后一旦需要修改,美工

mm   

jsp   

又 很麻烦。最终的结果是,美工作的图程序员

 

用不上,程序员的

jsp 

 

 

美工改不了。两边矛盾。 增加一个中间角色,精通

Web 设计规划,周旋于美工和程序员

 

 

之间。这不是很好么? 实际上,这个人才真正的懂得

Web,是网站建设的核心。

    合格的程序员

    

 

中国有很多小朋友,他们

18,9 

 

岁或

21,2 

 

 

岁,通过自学也写了不少代码,他们有的代码写的 很漂亮, 一

 

 

 

些技术细节相当出众, 也很有钻研精神, 但是他们被一些错误的认识和观点左右, 缺乏对系统,对程序的整体

 

 

理解能力,这些人,一个网上的朋友说得很好,他们实际上只是 一些

Coding fans,压根没有资格称为程序员,

 

但是据我所知,不少小网络公司的

CTO 

 

 

就是 这样的

coding fans,拿着吓人的工资,做着吓人的项目,项目的

 

 

 

 

结局通常也很吓人。 程序员 基本素质: 作一个真正合格的程序员, 或者说就是可以真正合格完成一些代码工作

 

 

 

的程序员, 应该具有 的素质。

1

 

:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程

 

 

序员应该具 备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任 何个人的

 

力量都是有限的,即便如

linus 

 

这样的天才,也需要通过组成强大的团队来创造奇 迹,那些遍布全球的为

 

linux 

 

 

写核心的高手们,没有协作精神是不可想象的。独行侠可以作 一些赚钱的小软件发点小财, 但是一旦进

 

 

 

入一些大系统的研发团队, 进入商业化和产品化的 开发任务,缺乏这种素质的人就完全不合格了。

2  

: 文档习

 

 

 

惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子, 良好的文档是正规 研发流程中非常重要的环节,
作为代码程序员,

30

 

%的工作时间写技术文档是很正常的,而 作为高级程序员和系统分析员,这个比例还要高很

 

多。缺乏文档,一个软件系统就缺乏生命 力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。

 

3

 

 

 

:规范化,标准化的代码编写习惯 作为一些外国知名软件公司的规矩,代码的变量命名, 代码内注释格式, 甚

 

 

 

至嵌套中行缩进的长度和函数间的空行数字都有明确规定, 良好的编写 习惯, 不但有助于代码的移植和纠错,

 

 

 

也有助于不同技术人员之间的协作。 有些

coding fans 

 

叫嚣高水平程序员写的代码旁人从来看不懂, 这种叫

 

 

嚣只能证明他们自己压根不配自称程序 员。代码具有良好的可读性,是程序员基本的素质需求。 再看看整个

 

linux 

 

 

的搭建,没有 规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。

4

 

:需求理解能力 程序

 

 

 

 

员需要理解一个模块的需求, 很多小朋友写程序往往只关注一个功能需求, 他们把性能指标 全部归结到硬件,

 

 

操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说 写一个广告交换程序很简单, 这种人从

 

来不知道在百万甚至千万数量级的访问情况下的性能 指标是如何实现的,对于这样的程序员,你给他深蓝那套系

 

统,他也做不出太极链的并访能 力。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员

 

 

 

 

需要评估该 模块在系统运营中所处的环境, 将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能 性。 就

 

 

这一点, 一个成熟的程序员至少需要

2   

 

年的项目研发和跟踪经验才有可能有心得。

5:复用性,模块化思

 

 

 

维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成 了熟练工, 每天都是重复写一些没有任何

 

 

新意的代码, 这其实是中国软件人才最大浪费的地 方,一些重复性工作变成了熟练程序员的主要工作,而这些,

   

其实是完全可以避免的。 复 用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想

 

 

 

 

一些, 不要局限在完成当前任务的简单思路上, 想想看该模块是否可以离这个系统存在, 是否可以 通过简单的

 

 

 

修改参数的方式在其他系统和应用环境下直接引用, 这样就能极大避免重复性的 开发工作, 如果一个软件研发

 

单位和工作组能够在每一次研发过程中都考虑到这些问题, 那
    

 

 

 

么程序员就不会在重复性的工作中耽误太多时间, 就会有更多时间和精力投入到创新的代码 工作中去。 一

 

些好的程序模块代码,即便是

70 

 

 

年代写成的,拿到现在放到一些系统里面作 为功能模块都能适合的很好, 而现

 

 

在我看到的是, 很多小公司软件一升级或改进就动辄全部 代码重写,大部分重复性工作无谓的浪费了时间和精力。
 6

 

 

:测试习惯 作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不 是说有了专职的测试

 

 

 

工程师程序员就可以不进行自测; 软件研发作为一项工程而言, 一个很 重要的特点就是问题发现的越早,解决

 

 

的代价就越低,程序员在每段代码,每个子模块完成 后进行认真的测试, 就可以尽量将一些潜在的问题最早的发

 

 

 

现和解决, 这样对整体系统建设 的效率和可靠性就有了最大的保证。 测试工作实际上需要考虑两方面,一方面

 

 

是正常调用 的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在 很多公司