程序员之拍案惊奇:为什么我会一天到晚的想说FUCK!

| 批评评论 | 11条评论
11 抓狂 发疯 受刺激

经常有人找我给他们的软件项目做修改或维护,我对这些项目毫不了解,而他们只告诉一些很少的项目相关信息。必然的,需要在项目中增加一些新的功能,但在动手之前,我通常需要耗费大量的功夫来大幅度的重构它们。大概一个月前,一个公司老板给我来信“嗨,我有一个软件,需要做一些个性化的改动,有个大客户愿意花一大笔钱来买它,正等着呢,可我现在都没办法让它跑起来,最初的开发人员都找不到了。你能帮我搞定它吗?

我的阅读编程书籍的好方法

| 心得体会 | 11条评论
11 读书

在过去的一年半里,我学会了Java(用于开发Android),Python和Javascript(& HTML/CSS)(用于web开发),我慢慢认识到,这最好的从书本和教材上学习编程的方法是把它们读3遍!!用这种方式学习新的内容能更好的帮你理解新语言/新概念。我相信这种方式能帮助你最大限度的从书本中汲取知识——不论你看的是什么书。

不要为复用而设计

| 心得体会 | 8条评论
8 软件设计

上周,一位同事的一个观点让我深受启发,这个观点是如此的显而易见,以至于当他说出来时我惊奇于为什么以前没有意识到这点: 如果你为复用而设计,那你就做错了。你现在要写的代码的唯一目的就是服务于你目前手头上的需要解决的任务。不要为复用而设计。不要去考虑复用。不要为让代码复用而浪费一秒钟时间。

软件架构师不等同于资深程序员

| 心得体会 | 10条评论
10 架构设计

资深程序员对整个软件生命周期很了解,他们可以经过培训成为架构师,但他们不等同于架构师。一个软件架构师首要的和最重要的是他的远见。如果一个架构师拥有一些软件开发经验,那会更好,但大多时候,他们面对的是一个多语言的复杂环境。在第一行代码开始编写之前,架构师需要制定出业务需求如何转变成解决方案。

程序员性格怪癖是才华横溢的表现还是危险分子的征兆?

| 团队建设 | 23条评论
23 性格怪异的程序员

这是关于一个具有极高智商但却极端个人主义的程序员的故事,这种类型的程序员我们都知道,也都不喜欢。我们可以不用这样的人吗?
有一些我曾经共事过的程序员,他们极其的聪明,但也极端的古怪离奇。
“古怪离奇”也许用来形容一个事件或一个观点更合适。也许称这类型的人为书呆子更合适。但不管怎样,我的印象中,大多数时候,他们并不会带来太大的麻烦。

安全专家说:现在到了该彻底重写Java的时候了

| 批评评论 | 22条评论
22 oracle-hq

一些成熟的产品,比如Java或Adobe公司的几款软件,在过去的很长的时间里已经被无数人的手动过。“这些产品变得如此庞大,被如此多的程序员 维护过,导致这些软件的出品人基本上对这些软件里应该有的东西失去了控制。”Botezatu说。

为什么会有这么多种的数据库

| 幽默讽刺 | 8条评论
8 数据库

Y Combinator天使投资公司的创始人Paul Graham最近写了一篇文章比较各种编程语言:看看它们各自都是来解决什么问题的。可问题是,像这样去描述,你可以罗列出无数的语言,而且你可以使用各种的角度来描述。而本文的作者也学着使用这种做法,他发现这种方法放在数据库上同样好用

程序员2013新年计划

| 心得体会 | 2条评论
2 阅读文档

我的同事朋友Chris Eargle写了一篇关于新年计划的有趣文章。他让我想到了,没有出现那场世界末日是我们多么大的幸运呀(还有其他我这45年中躲过的天灾),于是,我也有了一些我自己的以程序员为主题的新年计划。在你的职业生涯中,你能做的会给你带来最多麻烦的事就是成为屋里最聪明的人…..

浅谈软件项目上的长期慢性需求问题

| 批评评论 | 4条评论
4 软件生命周期

软件需求会不断的发展、繁殖、变化,在其随后的设计和编码阶段统计出的数据,每月增加的量大概是1%到4%,基于这种现状,很显然,要想达到对需求的完全理解是十分困难的。

需求是软件开发的重要一环节,但由于掺杂着有毒的需求,缺失的需求和多余的需求,使得简单的诸如“品质的标准就是照需求完成”这样的定义成为了软件工业的毒药。

程序员的(血型)类型

| 团队建设 | 7条评论
7 血型

有些人行为怪癖,或知识经验不足,他们看起来会是团队的负担,但团队是有创造性的团体,不是一个死板的机器。下功夫将一些有特殊天赋和能力的人融入团队,回报通常会大于付出。

需要提醒的是,上面的这些考虑因素的前提是团队需要这样的人。当然,这样的人一定是通过了白痴测试,并且拥有团队需要的技能和特征。

三个快速且简单的让你的大脑安静下来的方法

| 思想人生 | 9条评论
9 安静

神经科学告诉我们,要想达到更高的效率,更有创造力,我们需要经常的让大脑休息一会儿。是安静的大脑创造出最深远的洞察力。但是,在忙碌的一天中抽出这样的停止工作的时间并不是件容易的事。下面说的是三种特别有效的,快速的,容易的在日常工作中营造这样的休息时间的好方法。

为什么会有这么多的编程语言

| 幽默讽刺 | 12条评论
12 各种编程语言

Paul Graham不仅是Y Combinator天使投资公司的创始人,而且还是一名关系编程界的程序员,最近他的一位朋友Kevin Kelleher向他建议了一个比较各种编程语言的有趣方法:看看它们各自都是来解决什么问题的。可问题是,像这样去描述,你可以罗列出无数的语言,而且你可以使用各种的角度来描述。

用户界面上的光环效应

| 心得体会 | 17条评论
17 用户界面

你在兴奋的为你的客户实现一个新功能。这个功能在业务逻辑上超级的复杂,但页面上却是非常的简单。这需要做大量的工作。

在付出了巨大努力后,你刚好在用户要求的最后期限前完成了任务。开发出的新功能在业务逻辑上无懈可击,但界面没有来得急收拾,显得有些粗糙。这没什么,因为这是最容易处理的部分,也是最不容易出错的部分。

为什么软件程序员的价值总是被严重的低估

| 批评评论 | 6条评论
6 不公平

在我任职于雅虎期间(大约2001-2007),我学会了做很多事情,但同等重要的,我还学会了如何避免做某些事情。对于后者,主要就是如何避免不公的对待技术人员。雅虎,尽管做出了很多善意的努力和明显的例外举措,仍然没有在公司内带来技术人员地位的提高。

如何判断自己是否到了该辞职的时候

| 创业理想 | 13条评论
13 创业

大约6个月前,我辞去了投资公司的工作,去和我的朋友Adrian一起做一个网站。我发现有必要把我的这点经验写一写,希望能给那些有跟我一样想法的人一点忠告和见解。