自言自语

I'm Wang Xianyuan, writing for myself, more studying, more experience…

最近几天,也就是十二月底,要完成的事情

By

最近几天,也就是十二月底,要完成的事情。
 
英语六级考试
英语一向不怎么好,加之压根没复习,去混个脸熟吧~
 
课程复习
前阵子去了长沙,耽误了一段复习的时间,下面要抓紧点了,没事就去图书馆坐坐。中午那地方睡觉甚好,安静,只能听到电梯嗡嗡地升降……
 
姐姐的生日
姐姐出生得真不是时候,一年中最忙的最后时节降生,和她的性格一样,总是匆匆地追赶收班前的最后一班车次。不过还得认真让她开心为好,免得和去年一样那个凄惨。
 
艾龙正式版
按照预定计划,艾龙网要在元旦前结束公测。正式版即将上线,将新增密码找回功能,同时对界面和功能做细微调整。目前,这些功能和改进正在开发测试中。

Posted in Stories | Comments Off on 最近几天,也就是十二月底,要完成的事情

《The Joy of Patterns》读后感

By

书名:The Joy of Patterns — using patterns for enterprise development
作者:[美] Brandon Goldfedder
 
全书阐释了模式的基本概念和重要性以及使用技巧。
 
其实模式是一种语言,一种设计师之间沟通的重要工具。我们一直都在编程,却很少有人去思考问题的本质。我比较欣赏书中的两段话:
 
1.如果你有一把锤子,你会把所有的东西当成钉子。
2.项目的初始阶段就好像两个调制解调器在尝试找到共同的协议。
 
这本书是少有的几本对我在程序设计技术上认识产生影响的书籍。不同的是,这本书的正文部分几十页,就让人很清楚的认识到模式的重要性,模式是一种独立存在的语言!看到标题的时候我对此说法感到怀疑,看过之后,我竟有了全面学习模式这门语言的想法。还是来引用书中作者的一句话:“我敬佩所有让我对其正确性产生怀疑的事物。”
 
其实在了解模式之前,我们处处接触到模式。而后来我从其他的书籍上了解到的模式的概念并非现在通过这本书了解的模式的概念。模式真的是一种奇特的东西,它存在于这个真实的世界,适用于解决事物之间的相互约束。正确的使用模式可以让系统更加坚固,而错误地选择了模式这可能给原本稳定的系统施加摧毁性的压力。所以模式之间应该相互补充,就像拼图一样!
 
很多时候,我们的软件设计会成了编码会。大家并没有把重点放在设计上,而是更多的在关注编码上,这对软件本身是极为不利的。运用模式的设计才称得上是软件设计,说得更严重一些,没有学习过模式就谈不上软件设计。为此,我呼吁高校的计算机软件工程专业必须尽快引进模式编程的课程。这要比某些学校开的算法设计课要来的实在、重要得多!

Posted in Study | Tagged: | Comments Off on 《The Joy of Patterns》读后感

Alan Cooper 的交互设计观

By

Alan是一位仅仅做了大约15年编程的交互设计师。
 
以下文字是对2001年一次访谈的文字提炼,相信能解答无数人心中的某些疑惑,包括我自己。
 
交互设计
 
1. 处理对象是人,没有CPU、编程语言、操作系统,关注焦点是用户需求而不是设计,和用户界面设计不是一回事。
 
2. 不是艺术,不是工程类学科,是一种非常困难、非常不同的技术,与写代码相比是一个更复杂、老练、困难的工作。
 
3. 推广的最大困难,是让高级主管相信不需要花费很多金钱和时间,他们的软件可以有重大的变化。
 
4. 实质是让技术为用户服务,而不是让用户服务技术。
 
交互设计师
 
1. 不需要编程经验,但必须在代码被写出来之前想象它是做什么的。
 
2. 必须知道哪些对于心理学家是重要的,所以不需要心理学专家参加项目,心理学专家不能设计交互系统。
 
3. 就是具有能非常好地确定软件将要做什么,以便别人顺利完成任务的人。
 
4. 既不是艺术家,也不是程序员,想开发这样一个新的职位是很难。 
 
5. 好的交互设计师,在你采用他们的计划时可以给出令人信服的原因。
 
6. 没有实际的经验的话,想建立威信是非常困难的。
 
交互设计师的特质
 
1. 需要具备凭空想象复杂行为的能力,必须能够在代码被写出来之前,想象它是做什么的。
 
2. 应该停止编程。因为程序员和设计师的目标是有冲突的,你不可能同时做好两件事情。
 
交互设计师的职责
 
1. 工作之一是分析,但分析不是设计,主要是关于用户知识领域,更像建筑师。
 
2. 需要懂得什么对于程序设计人员是重要的,但是不需要知道怎样编程,只需要将代码要实现的功能形象化。
 
3. 应当负责程序做什么和怎样表达,设计项目的第一部分是针对问题域详细研究项目。
 
4. 在项目中的地位很重要,所以不能犯错误。
 
交互设计师的执行
 
1. 实质工作就是用图形将行为文档化。
 
2. 用定性的现场调查技术,用户建模方法,设计原则,设计模板。
 
3. 常用软件PowerPoint;常用工具有纸、白色书写板,铅笔。
 
交互设计师与程序员、工程师
 
1. 交互设计是针对交互设计师的,所以不一定对于程序员做的任何系统都有效。
 
2. 交互设计控制程序的外观和行为,技术和编码则应当由程序员控制。 
 
3. 交互设计师负责表达,程序员负责逻辑,缺少任何一部分都将做不成事情。
 
4. 工程师们将厌恶交互设计师所做的工作。 
 
5. 寻找一个好的交互设计师和寻找一个好的程序员同样的困难,在任何地方都是如此。 
 
6. 各自发展阶段应当是初级程序员–>程序员–>高级程序员;初级设计师–>中级设计师–>高级设计师;初级管理者–>中级管理者–>高级管理者,程序员通常是一个差的设计师和差的管理者。
 
交互设计师与管理者
 
1. 交互设计师和项目管理者不应该是同一个人,管理者主要控制过程。
 
2. 管理者将时间期限定得短是因为他们不知道程序员在做什么,交互设计师就能告诉他们,同时能给程序员争取更多的时间。
 
3. 在没有完成软件行为描述文档前,告诉管理者不要开始编码。功能和表达不是一回事,特征和行为不是一回事。
 
4. “市场压力、预算、管理水平……”这些妥协,都是管理者掩饰他对产品和程序不了解的借口。
 
5. 项目周期安排不合理和需求变更频繁,只能说明管理非常差。

Alan Cooper 畅谈交互设计

By

2001年12月15日,也就在他那本《The inmates are running the asylum》的中译本《软件创新之路–冲破高技术营造的牢笼》出版没多久吧。
 
“交互设计之父”Alan Cooper作客UMLCHINA讨论组的聊天室,畅谈交互设计。Alan Cooper是软件交互设计的先知和传播者,客户咨询公司Cooper Interaction Design的创始人和总裁。他设计了第一个可视化开发工具Visual Basic,他的公司帮助IBM、3M、Ericsson、Sun、Visa…等客户开发了许多具有市场竞争力的产品。 
 
由dewen翻译
 
fly cat: 大家对您的《软件创新之路–冲破高技术营造的牢笼》这本书有很深的印象,在这本书中你想说的是什么呢?
alancooper: 我尽力想阐明另外一条关于软件如何设计和发展的思路。
extreme: 能告诉我在哪儿能下载这本书的英文版本吗?谢谢!
alancooper: 我想可能没有地方能够下载到该书完整的英文版本,你可以从Amazon.com在线购买一本。
umlchina: Cooper先生,你认为Windows的界面怎样?和Mac比较呢?从交互设计的角度出发!
alancooper: 我认为Windows和Mac的界面是相似的。
umlchina: 相似--那是好还是坏呢?
alancooper: 在1984年是同样的好,但在2001年,就是同样的过时、灰暗和单调了。
yuminghui: 绝大部分中国大学生仅仅知道简单的VB编程,但是却认为自己是顶尖高手。
alancooper: 在美国也是如此。
yuminghui: 我指的是那些年轻的家伙,包括那些刚开始编程的人。他们在开始时不应该用VB或UML等类型的工具。
alancooper:优秀的程序人员编程不依赖于任何具体的程序设计语言。
boss_ch: 你认为Windows XP的界面怎样?
alancooper: 我认为Windows XP和其他的Windows及Mac是一样的。
 
extreme: 据说C#将很快取代VB,Cooper你对此怎么看呢?
alancooper: C#看起来象一个很好的语言。
guodd: 顶尖的程序员是否象艺术家?
alancooper: 我不认为编程是一种艺术,我觉得它像一种工艺,就象制陶或吹制玻璃。
fly cat: 你强调了交互设计的重要性,不过在我看来,当一个程序需要人机交互的时候,它是有用的。不过对于有些程序来说…. 例如对于实时监控设备的内嵌系统,还有用吗?你认为呢?
alancooper: 我不认为交互设计对于程序员做任何系统都是有效的,交互设计是针对交互设计师的。
fly cat: 编程是工艺,但是设计是艺术?
alancooper: 设计也是一种工艺。
extreme: Cooper先生,你认为作为一个交互设计师需要什么样的背景或知识基础。
alancooper: 好的交互设计师需要接受交互设计方法的培训。
extreme: 你是说,绘画或者艺术?
alancooper: 艺术意味着在软件设计或规划方面没有规则。
 
shenqw: 交互设计师需要懂得编程吗?
alancooper: 交互设计师需要懂得什么对于程序设计人员是重要的,但是不需要知道怎样编程。
fly cat: 什么样的工作背景对交互设计师来说是最重要的?技术或市场?
alancooper: “技术和市场”,两者都不需要,交互设计的字义本身就已经说明了它自己。
extreme: 我猜想他可能需要懂得心理学方面的知识,你说呢?
alancooper: 交互设计师必须知道哪些对于心理学家是重要的。
yuminghui: 这样说来老板需要招聘心理学专家参加项目了?
alancooper: 不,正好相反,因为有了交互设计师,所以他们再也不需要心理学专家参加项目了。心理学专家不能设计交互系统。
wrymy: 现在流行的网页设计,例如HTML、XML等,我们发现想找一个界面友好的网站是很困难的,特别是企业网站。Web页面上的控制是非常困难的,特别是当界面很复杂时!
alancooper: “网页的控制非常困难”,千真万确!
shenqw: 但是交互设计师怎样知道他们应当在屏幕上显示什么东西?
alancooper: 这和程序员知道该在编辑器中输入什么样的代码一样!
wrymy: 那么你对于网页的编写有什么建议吗?
alancooper:把所有的交互组件放在一个页面上。
 
extreme: 如果某人想成为一个交互设计师,他应该怎样做呢?
alancooper: 停止编程。
extreme: 为什么要停止编程?
alancooper: 因为程序员和设计师的目标是有冲突的,你不可能同时做好两件事情。
umlchina: “程序员和设计师之间有冲突”:但是他们在同一个团队中。
alancooper: 不,程序员和设计师的“目标”是有冲突的。
extreme: 看来我没有机会成为一个交互设计师了,因为我是如此地喜欢编程。
alancooper: 如果你如此喜欢编程,为什么你想成为交互设计师?
fly cat: Cooper先生,你能简要描述一下交互设计的实质吗?
alancooper: 让技术为用户服务,而不是让用户服务技术。
extreme: 那么,你认为作为一个程序员或PM应当了解交互设计吗?
alancooper: 好的交互设计师在你采用他们的计划时可以给出令人信服的原因。
 
umlchina: 一个好的交互设计师一般使用哪些工具?你能介绍一个吗?
alancooper: 我们用定性的现场调查技术,用户建模方法,设计原则,设计模板,许多纸和白色书写板。
extreme: 但是如果作为一个PM对此没有任何了解,我怎样知道那小子将带领我们走向成功呢?
alancooper: 对,你怎样才能知道呢?编程方面的知识能帮助你吗?我认为不能。
extreme: 那么,什么能帮助我?
alancooper: 一个交互设计师。
extreme: 但是我认为现在在中国发现一个好的交互设计师不是很容易。
alancooper: 寻找一个好的交互设计师和寻找一个好的程序员同样的困难,在任何地方都是如此。
wrymy: 我认为extreme的意思说,怎样判定交互设计师设计的好坏呢?
alancooper: 为什么程序员要越过交互设计师来参加判断呢?
 
hdw1978: 灵感,在绝大多数的案例中,你从哪里得到灵感?
alancooper: 程序员从哪里得到灵感?
umlchina: 有什么好的参考书能告诉我们怎样一步一步来做交互设计?
alancooper: 还没有,但是我们现在正在编一本。
fly cat: 我有一个感觉,Cooper先生是想鼓励我们自己寻找答案,而不是直接告诉我们。
alancooper: 交互设计不是工程类学科。
umlchina: 对于新书的编写你有什么计划吗?
alancooper: 在Cooper有两个高级设计师从事教材编写的工作。
extreme: 我建议Cooper先生做一个中国的培训计划,以便能给我们一些实际的指导。
alancooper: 这是一个好注意。
 
shenqw: 什么样的人能够成为交互设计师?他们应当有哪些方面的能力?
alancooper: 交互设计师需要具备凭空想象复杂行为的能力,交互设计应当在任何代码编写之前做。交互设计师必须能够在代码被写出来之前,想象它是做什么的。
fly cat: 但是我认为如果交互设计师没有实际的经验的话,他们想建立威信是非常困难的。
alancooper: 确实如此
extreme: 这种凭空想象复杂行为的能力能够训练出来吗?
alancooper: 只有当你生来就是个天才,才不用接受训练。就象如果你生来就是编程天才,就不需要编程能力训练一样。
fly cat: 我感到很困惑。
alancooper: 困惑–这是一个非常好的开始!
fly cat: 然后呢?
alancooper: 然后你得作好准备学习一种非常困难、非常不同的技术。
alancooper: 我不懂一个工程师为什么想做交互设计师?工程师们厌恶交互设计师所做的工作。交互设计师要处理的是人。没有CPU、编程语言、*作系统!
extreme: 我们只是想能更好地和交互设计师沟通。
alancooper: 这真是太好了!
 
shenqw: 按你的观点,交互设计师必须有一些编程经验吗?
alancooper: 为什么你这样认为呢?
fly cat: 因为如果他没有编程方面的经验,他想让程序员听他的将非常困难。
alancooper: 你的意思是工程师不听从交互设计师的安排?为什么不呢?
hzmajw: 艺术家能从事交互设计师的工作吗?或者办公室助理能从事交互设计工作吗?
alancooper: 交互设计不是艺术。办公助理能写代码吗?交互设计与写代码相比是一个复杂的、老练的、困难的工作。
fly cat: 在交互设计师建立他的威信前,形势是非常困难的。成为一个好的程序员也是建立他的威信和自信的一种方法。
alancooper: 为什么交互设计师要向程序员证明自己?为什么不是程序员向交互设计师证明自己?
fly cat: 但是在实际中,这是现实存在的。
alancooper: 我的工作就是要改变现实。
shenqw: 好,交互设计师不需要编程经验。那他怎样在代码被写出来之前想象它是做什么的呢?
alancooper: 那是交互设计师要做的,如果你不能做到这一点,你就不是一个交互设计师。
 
developerly: 在你成为一个设计师之前,你做过编码方面的工作吗?
alancooper: 仅仅做了大约15年。
extreme: Whao!仅仅15年!
fly cat: 在我看来,你也需要通过VB之父这种经历来建立你的权威。
alancooper: 我编写了VB的可视化部分的代码。
developerly: 那么你认为你的编码经历对你的设计工作曾有过帮助吗?
alancooper: 在我的公司,我们有40位交互设计师,他们没有一个人写过代码,他们只是将代码要实现的功能形象化。
extreme: 这样的话,你怎样让我相信一个好的设计师不需要了解任何编程方面的东西呢? 
alancooper: 许多Cooper’s的设计师从来没有写过一行代码。
 
umlchina: 有没有交互设计方面的工具?
alancooper: 有,但是没有一个能脱离软件。
alancooper: 你们刚才问我的问题,和六年前加州的程序员们问我的问题差不多。
extreme: 那也是为什么我们要来这里听一些意见的原因。
alancooper: 我真的感激你们的参与和对此的兴趣。
 
fly cat: 好象一个好的程序员很难成为一个好的交互设计师。
alancooper: 为什么他们想成为交互设计师?
umlchina: 既不是艺术家,也不是程序员,想开发这样一个新的职位是很难的。
alancooper: 对,没错。我们现在已经做到了。
fly cat: 在中国,程序员的发展之路是:编码–>设计–>管理。
alancooper: 我认为这是不正确的。应当是初级程序员–>程序员–>高级程序员;初级设计师–>中级设计师–>高级设计师;初级管理者–>中级管理者–>高级管理者。程序员通常是一个差的设计师和差的管理者。所有的工作职称都含糊不清和令人困惑。
jazy: 我想你的意思是交互设计师负责表达,程序员负责逻辑,缺少任何一部分都将做不成事情。
alancooper: 你说得对。“缺少任何一部分都将一事无成”:对,对,对!!!!!
hzmajw: 每个人都应当考虑哪种角色最适合他自己。当他有目标时,他将能把他的工作做得很好。
alancooper: 真正喜欢编程,而且确实精于编程的人,应当继续编程,做别的都是浪费。
 
extreme: 但是有时候老板需要你成为一个PM,那应该怎么办?
alancooper: 那老板应当回去编程。
extreme: 你现在已经成为一个著名的交互设计师了,这是否意味着你不再喜欢编程了? 
alancooper: 我喜欢,但是我对它不再有足够的兴趣了。
fly cat: 但是我认为,当我们年轻时,我们喜欢做一些编程方面的工作,去了解一些事情,然后我们有了更多的经验,自然地我们就想做一些设计方面的工作。
alancooper: 这仅仅对有些人来说是对的。
umlchina: 根据你的交互设计观点来看哪一种手机更好?Motolora, Nokia, Ericsson?
alancooper: 我认为他们都是垃圾。
umlchina: 但是…他们都很笨吗?加上microsoft、IBM?他们都是一样的笨?
alancooper: 手机不应该成为一团。为什么我需要将键盘举到我的耳边?为什么作为一个和人交流的工具要有号码?我认为手机应当是隐形的,一个带小型麦克风的听筒放在头部。
extreme: 隐形是什么意思?藏在衣服里?
alancooper: “藏在衣服里?”,这是一个好的开始。
fly cat: 蓝牙?!
alancooper: 蓝牙是一个好的主意,但不是一个非常好的协议。手机最重要的部分是如何控制它,而不是如何通话。为什么手机需要用到我的双手、双眼、一只耳以及我全部的注意力? 
 
品雪: 有很多这样的例子:用户告诉你需要在很短的期限内完成项目,然后给你提出许多不断变化的需求来。这里还能有某种交互设计吗?
alancooper: 这只能说明那里的管理非常差。
品雪: 您对这样的坏环境有什么建议吗
alancooper: 建议,在没有完成软件行为描述文档前,告诉管理者不要让你们开始编码。功能和表达不是一回事。特征和行为不是一回事。
extreme: 你认为我们能怎样将行为文档化?
alancooper: 画图形。
extreme: 用什么工具?photoshop?
alancooper: 用铅笔。我们经常用白板。PowerPoint也挺好的。
 
extreme: 那么,我们到哪里和怎样发现这样的设计师呢?
alancooper: 他们就在那里。可能不在编程人员中,可能在技术支持,测试,文档编写…等人员中。当交互设计师被压抑如此长的时间之后,寻找他们是非常困难的。
umlchina对品雪说: 我认为交互设计是对产品的,而不是对项目的。
alancooper: 产品和项目,其中的差别是不明显的。对于用户来说,没有一个比设计更重要。 
 
fly cat: 在美国,交互设计师是否已经普及了?
alancooper: 正在不断发展。
umlchina: web将何去何从?HTML作为交互设计并不适合?
alancooper: HTML是垃圾。
fly cat: 在美国推广交互设计遇到的最大困难是什么?
alancooper: 让高级主管相信不需要花费很多金钱和时间,他们的软件可以有重大的变化。
umlchina: 但是它简单。
extreme: 也流行。
alancooper: 所以是犯罪。
extreme: 但是对于在互联网上的信息交流,它做得非常好。
alancooper: 不,完全不是这样。
umlchina: 流行<–>犯罪?
alancooper: HTML<—>犯罪!许多HTML的限制能通过好的设计来弥补,但是很少有程序员能听从设计师的意见。越过HTML的限制也需要大量复杂的代码。
 
fly cat: 你考虑过在中国推广你的观念吗?仅仅依靠书是不够的。
alancooper: 我现在正在推广它们。回去也请告诉你们的老板!
extreme: 我非常希望能在中国看到你的书的英文版本。
alancooper: 我也想看到我的书在中国销售。
kenxia: 多少钱?我希望它不要太昂贵。
alancooper: 对书我没有办法控制,它由出版商决定。
fly cat: 你能列举几个不是你们公司的好的交互设计师吗?可能他们和你做同样的事,但是不叫交互设计。
alancooper: Rob Haitani设计了Palm Pilot。Ben Schneiderman设计了SmartMoney.com marketmap。
 
kenxia: 你认为C++怎样?
alancooper: 学习C++和学习弹钢琴一样容易。
umlchina: WEB将走向哪里?既然HTML是垃圾。
alancooper: 更聪明的浏览器。它应当能记住信息,将相关资料写到磁盘上,和服务器交互通信。它应当有更好的交流方式,比如象拖拉、卷动、刷新。
extreme,umlchina: “往磁盘上写信息”安全吗?“聪明的浏览器记录资料”与隐私权相冲突吧?
alancooper: 对,那是需要解决的问题。但是解决起来并不困难。
 
fly cat: 如果交互设计师做错了一些事情呢?他们在项目中的地位是如此重要,所以很容易毁了所有的事情。
alancooper: 如果程序员做错了一些事情呢?
extreme: 解雇他!
alancooper: 对,专业人员不能犯错误。
 
smilemac: Alan你好,对于一个项目中有限的时间及好的交互设计之间的冲突你是怎样看的?
alancooper: 为什么有时间限制?谁将时间定得这么短?为什么定得这么短?他缩短时间是为了什么?
joy_wind: 时间就是金钱。
alancooper: 浪费了的时间是金钱。
joy_wind: 老板关心他的钱,我们关心项目。
alancooper: 管理者将时间期限定得短是因为他们不知道程序员在做什么。交互设计师能告诉管理者程序员在做什么。交互设计师能给程序员争取更多的时间。
extreme: 按你书中的观点,管理者必须布置一些事情。
alancooper: 仅仅是因为在程序被做出来之前,他不知道它是什么样子的。
smilemac: 例如市场压力、预算、管理水平等等,这些都可能造成项目时间限制,许多产品是它们之间相互妥协的结果。
alancooper: “…市场压力,预算…”,所有的都是管理者掩饰他对程序不了解的借口。
 
fly cat: 我认为交互设计关注的焦点是用户的需求而不是设计。
alancooper: 对!!!就象我在前面所说的,交互设计和用户界面设计不是一回事!
extreme: 那么谁负责确定软件将要做什么?交互设计师吗?
alancooper: 交互设计师就是具有能非常好地解答上述问题,以便别人顺利完成任务的人。
extreme: 谁控制过程?交互设计师吗?
alancooper: 过程应该由管理者来控制。
joy_wind: 交互设计师的工作职责是什么?
alancooper: 程序的外观和行为应该由交互设计师控制。技术和编码应当由程序员控制。 
kenxia: 控制?通过权力还是通过技巧?
alancooper: 今天程序员通过什么来控制呢?他们好象不需要特定的技能来做设计。
extreme: 这样的话,交互设计师看起来象分析员。
alancooper: 交互设计师的工作之一就是分析。但是“分析”不是设计。
joy_wind: 交互设计师是否更像建筑师?
alancooper: 对,对,对!!!
extreme: 但是一个毫无编程知识的家伙怎样来做分析呢?
alancooper: 那程序员怎样能决定用户想要什么呢?
extreme: 我不是说程序员应当了解需求,我仅仅是想说,一个交互设计师应当了解一些编程知识以便做一些分析工作。
alancooper: 为什么?我觉得你的真正意思是你担心交互设计师将会让你去干一些愚蠢的事情!
extreme: 对,我不认为一个对编程毫无了解的人能做好分析工作。
alancooper: 但是一个好的专业交互设计师不会设计出不能实现的、难以运行的东西。 
品雪: 你说的分析主要是关于用户知识领域。
alancooper: 对!
 
tipsyy: 那么请告诉我,交互设计师在一个项目中负责做什么?他担负什么样的职责? 
alancooper: 交互设计师应当负责程序做什么和怎样表达。我们设计项目的第一部分是针对问题域详细研究项目。
smilemac: 交互设计师和项目管理者可以是同一个人吗?
alancooper: 为什么?为什么让一个领域的专家工作于另一个领域?
 
fly cat: 时间快到了,你们认为结束聊天好吗?
alancooper: 我想我必须走了。很高兴有机会和大家谈话。非常感谢大家!!!!! 

程序员5大思维障碍

By

程序员思维定势

1)机器思维

优秀的程序员最擅长和电脑程序打交道,并通过代码去控制反馈。
而管理需要和人打交道,需要收集人的反馈。电脑是按逻辑来执行的,而人却要复杂很多,
特别是团队中有女性成员,挑战难度就更大。
由于长期和电脑接触,很多程序员缺乏和别人沟通的技巧,或者说情商相对较低。
这在管理上是比较致命的缺点。
 
2)BUG思维
优秀的程序员追求完美,看自己或者别人代码时第一反应是看什么地方可能有BUG, 管理时如果带着BUG思维,就会只看到别人的不足和错误,而不去表扬其有进步的地方。
(完美思维的坏处还有一个,就是过于关注细节)如果方向和前提有问题,过于关注细节反而会带来延误
 
3)工匠思维
程序员靠手艺吃饭,创业总是会碰到各种困难,在碰到困境的时候程序员出身的创业者是有退路的,大不了我再回去写程序搞技术好了。
创业最需要的就是坚持,需要一种永不言弃的精神气,不能坚持到底,也就不能收获果实。
 
4)大侠思维
以技术创业起家的容易迷信技术,忽视市场,忽视管理,总以为只有自己的是最好的。遗憾的是技术变迁实在太快,一时的先进不能代表永远的先进。先进的技术也不一定就是致胜的法宝。
 
5)边界思维
程序员设计代码和系统时,常常会考虑要处理边界和异常。反映到思维习惯上,就是遇到问题,就会全面的思考各种情况。这是很好的优点,但做事业时,这有时候反而会是缺点。
 
上面五类有不少具体例子,大家也可以看看自己的思维习惯里面是不是这样?
习惯是很难改变的,最好的处理方式是找到搭档,能弥补自己的不足,这样成功的概率才会加大。HP, Apple Microsoft, oracle,Adobe, 都是两个主要创始人搭档创业成功的。 

Posted in Digests | Tagged: | Comments Off on 程序员5大思维障碍

CVCMS 模块安装的设计

By

完善了一下文件支持就开始设计 CVCMS 的模块安装了。模块安装分为安装和卸载。安装需要经过下面几个步骤:
上传模块压缩包(ZIP);
在线解压;
执行安装脚本(文件部署并记录操作到相应的安装日志);
注册模块信息。
 
卸载需要经过:
提取模块的安装日志信息;
依据安装日志删除模块文件;
删除模块目录;
注销模块在系统中的注册信息。
 
顺便和大家说一下,五一俺准备回家了(可能要离开公司比较长一段时间),以后尽量继续参与 CVCMS 的开发工作,希望大家保持对本 Blog 的关注。今天去定机票,祝我好运能拿到4折以下机票:)。 

Posted in Stories | Comments Off on CVCMS 模块安装的设计