有关技术管理的一些思考

这些天里工作的环境发生了一些微小的变化,可能以后对基层开发的程序员也会有更加具体的影响。上周参加 Open Party 时,重点听了《那些失败的项目们》,分析了一个项目的提出、实施,直到最后失败的过程。我也在想一个技术团队究竟应该用怎样的一种管理方式,才能让技术团队的效率达到更优。 我分了几个小主题,下面一一讲来。 一个程序员一天有多长时间在高效率地工作? 虽然现在绝大部分 IT 公司都声称是 ... [阅读全文]

多重修整视频,代码修整

本文是从 Code Refurbishment 这篇文章翻译而来。 我们这个行业里有大量的专业术语被使用。不幸的是,我们并没有对每个术语表达的究竟是什么意思达成共识。我经常听到人们误用“重构(Refactoring)”这个词,导致这种编程方法在很多企业里变成可怕的事情而被拒绝采用。怕什么?据我的观察,大部分都是因为错误的使用了这个术语。 我认为,因为没有对专业术语的使用严加... [阅读全文]

优秀程序员,你正在成长为一名优秀的程序员吗?

英文原文:Do You Morph Into A Different Programmer? 在软件开发过程中,你经历的每件事情都会潜移默化地影响着你。随着时间的流逝,年纪的增长,对于程序开发技术(相同/或者相关能力)以及自身的理解也会不断沉淀,这些最终也会帮助你达成目标——成为一名优秀的程序员。这里谈到的经历不仅限于程序员生涯里的里程碑,比如换工作、成为领导/经理或者自己... [阅读全文]

给年轻程序员的几句话

本文是从 Letter to a Young Developer 这篇文章翻译而来。 我收到了不少新手的来信,他们都希望能成长为一名真正的程序员。我绝对不是第一个谈论这个话题的人,所以,我不知道应该做哪方面的补充。不管怎样,下面的是一些一直记在我心头的、有必要读一下的建议: 找其他开发人员合作开发。我们正处在科技历史上第一个绝好的时代,你几乎不用在意在哪工作、为谁工作。只要你有一个还过得去的网络... [阅读全文]

谷歌代码,谷歌是如何做代码审查的

英文原文: Things Everyone Should Do: Code Review 在上一篇文章中提到过,我已经不在Google工作了。我还没有想清楚应该去哪里,有两三个非常好的工作机会摆在我面前。因为在这段做决定的时间里,我不再受雇于任何人,我想可以写一些专业性的东西,一些很有趣,但也会在同事和管理工作中导致关系紧张的东西。 本文的作者Mark CC Google是一个非常优秀的公司。他... [阅读全文]

代码注释,5类应避免使用的代码注释

英文原文:5 Types of Comments to Avoid Making in Your Code 你是否曾在检查代码时碰到一条在你看来多余的注释?在代码中使用注释的目的是提升代码的可读性,以让那些非原始代码开发者能更好地理解它们。 我甄别出5类让我不胜其扰的注释及5类生成它们的程序员。我希望读过本篇之后,你不会与他们一样坠入同一条河流。作为一项挑战,你不妨把写这5类注释的程序员与5类程序... [阅读全文]

如何成为一个C++高级程序员

C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已经少了很多,java、C#、python等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。 现在学习java、C#等语言的人数远远高于C++,主要是C++... [阅读全文]

代码整洁之道,整洁的代码 VS 卓越的代码

英文原文:Clean Code Versus Great Code 最近,我与其他开发人员有几次关于编程的有趣讨论。我经常有这样一个感觉,一些开发人员过于注意代码的整洁性。不要误会,我也力图代码整洁,并在过去的几年写过很多篇关于代码整洁重要性的文章。但是当我在写代码的时候,整洁的代码不是我最重要的目标,它从来不能取代我最重要的目标——使程序运行起来。最好可以运行得很好。 很... [阅读全文]

高德纳,高德纳(Knuth)谈计算机程序设计艺术(上)

英文原文:The Art of Computer Programming 高德纳(D. E. Knuth)教授是备受尊崇的系列巨著《计算机程序设计艺术》(The Art of Computer Programming)和数十篇受到高度赞誉的计算机科学论文的作者。2011年6月,结束了在英国的书籍研讨和系列演讲的高德纳教授,跟 BCS 编辑 Justin Richards 畅谈了自己的人生和工作。... [阅读全文]

程序代码,程序代码里的幽默精神

英文原文:The Joke's _disibledevent= 苹果 OS X 系统的文本到语音(text-to-speech)功能,有几十种不同的声音可供你选择。每一种声音都配有一句风趣的范例对话。如果你选择弗莱德的声音(The Fred voice),听到的会是:这台电脑这么棒,我当然愿意呆在里面了。而精神病人的声音(The Deranged voice)听上去则是颤抖的歇斯底里:我要好好放个... [阅读全文]

程序员总结:帮助你早些明白一些道理

1、 分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈! 2、 一定要确定自己的发展方向,并为此目的制定可行的计划。不要说什么,&ldquo... [阅读全文]

cf防止错误代码,如何防止代码腐烂

很多团队都有这个问题,一个项目的代码本来开始设计得好好的,一段时间以后,代码就会变得难以理解,难以维护,难以修改。为什么?我一直在思考这个问题。 让我们先看一个人的情况。 1. 程序员的成长 新手的代码 新手的代码没有经验,基本不考虑代码设计,代码规模稍稍大一点则自己就乱了。 进阶者的代码 小规模的时候 大规模的时候 进阶者已经知道如何设计代码,懂得代码规则,但一般局限于一个模块。规模... [阅读全文]

爱情到底是什么,开发到底是什么?

本来计划在这一篇的时候发一些关于Hash算法对于关键词过滤以及屏蔽,特别是一些不和谐的词,但是推迟了一下。在上一篇的中做的一个缓存类受关注的并不多,所以就来吹吹牛,讲下开发到底是为什么。 18岁的时候我已经接触了开发,为当时风靡的摩托罗拉手机MTK芯片组进行修改并完善摩托罗拉L6手机系统的修改。那时候是早期智能手机的样子,内存貌似只有不到10M,支持移动运用。(有兴趣的可以去手机之家去搜索下V-s... [阅读全文]

优秀班干申请理由,继续干IT的十个理由

英文原文:10 reasons to stay in IT 在文章《不干IT的十个理由》中,Jack Wallen列举了一些离开IT这个行业的理由。而我呢,则愿意提供一个不同的观点,下面有我自己的一些思考,这些也许能对阐明为什么你应当留在IT有所帮助。 1: 钱,钱,钱 对,我们努力工作就是为了赚钱,而IT专业人士的努力工作的确得到了很好的补偿。报酬不仅仅是好而已,而是非常棒。根据美国劳工部《2... [阅读全文]

我对创业的认识,创业编程七个错误认识

本文是从 What’s Your Start-up’s “Bus Count”? 7 Myths of Entrepreneurship and Programming 这篇文章翻译而来。 多少年来,人们普遍有一种看法,认为软件工程应该和其它种类的工程一样:仔细的设计,精确的规划,然后进行开发 —— 严格按照设计说明书。就像修... [阅读全文]

我们怎么办,我们这样的软件公司能怎么办?

60多年前,我们公司一群无知无畏充满理想的程序员从俄罗斯那里里找了一个免费的开源软件框架,进行了汉化以后,写了几行漏洞百出的代码,产品居然上线运营了。系统试运行期间还算正常,但是随着系统外围接口的增加,系统固有的问题就暴露出来了。30年前,新CTO实在看不下去了,重构了部分代码,改进了部分用户体验,但框架依旧是原来的旧框架。这几年,新代码和旧框架严重不兼容,产品濒临崩溃,用户流失严重。关键是那个开... [阅读全文]

软件开发者,我不是一个工程师 – 我是一个软件开发者

本文是从 I am not an engineer - I’m a software developer 这篇文章翻译而来。 在《Object-Oriented Software Development Using Java》这本书的导言部分,第8-9页上的“软件开发过程是工程化的过程吗?”一节中,Xiaoping Jia写道: …对于&ldqu... [阅读全文]

财务人员的划分,划分软件开发人员的两种尺度

行业分析师 James Governor 试着创建一套开发人员的分类学。我认为他利用了开发人员与思维的关系。我开始思考我怎么将开发人员分类,最后归结为两种尺度来衡量他们。 第一种尺度是“职业 VS 爱好”,第二种是“专注内在 vs 专注外在”。 第一种尺度与动力有关。程序员编写程序,是因为这是他们的工作,还是因为他们他们享受软件开发本身?知道你的同事... [阅读全文]

编程十万个为什么,为什么新人不会编程

英文原文:Why The New Guy Can’t Code 我们都生活在一个这样的噩梦中:一个新手开发人员前来工作,你欢迎他的参与,却发现他达不到你对进度的要求,而且他的提问也显示出他对基础知识的无知。即使他最终把工作完成了,编写的程序也很笨拙,需要更能干的人从头重写。然而录取他的面试官们或人力资源部门(如果你的公司中也有这种官僚体制的寄生虫的话)却信誓旦旦地表示,他们只聘用精英人... [阅读全文]

dorsey,改变世界的程序员—Jack Dorsey

提出并实现一个改变世界的想法,已经足以使任何人名垂青史。但有一个人却在短短数年之间搞出了两个,这样的天才可能几十年之内只能诞生几个。他,就是本期名人堂的主人公Twitter和Square的发明者Jack Dorsey,我们时代最伟大的移动应用开发者。 Dorsey是有创业基因的。他的父亲19岁就和自己最好的朋友一起开了一家Pizza店,生意相当不错。店里招聘的第一位女服务员后来成了Dorsey的... [阅读全文]

符文坚钢棒代码,最棒的程序代码,不是程序代码

文/Mr. Jamie 上次聊过工程师的生产力不应该用程序代码来衡量,因为他们的极致生产力,是在少写几行程序,而不是在多写几行程序。今天刚好又看到两篇文章,可以用不同的面向延伸、解释这建事情。 首先,是一位跑去日本教英文的前任软件工程师,发现了写程序和学语言间的共通性,他说: 这些工程师往往可以轻松的通过面试,但当他们真正开始工作,却让人大失所望。我读了很多关于这个问题的研究,但当我越看它,就... [阅读全文]

openmp,openMP 多线程编程【转】

前言 总算学完了OpenMP多线程编程的内容,由于在《读者》上看到20岁以后,大脑就开始衰老,所以为了保持住不太牢靠的记忆,我决定重新拾起十年前的习惯:归纳总结~ OpenMP简介 OpenMP诞生于1997年,由此看来,已经是十多年的历史了。目前已经有3.0的版本了,但是我使用的是VS2005自带的2.0版本,所以有些功能还不是很健全,譬如task。注意其支持的语言主要是Fortran和C... [阅读全文]

程序双核利用,MATLAB中BLAS的选择及充分利用双核...

MATLAB中BLAS的选择及充分利用双核CPU的设置(转)(2010-11-03 13:30:01) 转载 标签: 教育 MATLAB中BLAS的选择及充分利用双核CPU的设置(2006-09-18 10:26:15) 转载 分类: Matlab相关 MATLAB使用Basic Linear Algebra Subprograms (BLAS)来优化它的矢量内积、矩阵矢量乘积... [阅读全文]

java多线程,JAVA多线程02

JAVA多线程02 synchronized和Lock Lock是一个接口,它位于Java 5.0新增的java.utils.concurrent包的子包locks中。concurrent包及其子包中的类都是用来处理多线程编程的。实现Lock接口的类具有与synchronized关键字同样的功能,但是它更加强大一些。java.utils.concurrent.locks.ReentrantLo... [阅读全文]

挖矿工我们更专业,.NET程序员,我们应该更专业点

众所周知,打从.Net诞生那一天起,业界就弥漫着一股贬低.Net的空气。许多公司排斥.Net,因为.Net低效的名声,加之怕被微软绑架的担心。许多C++程序员有偏见,看不起.Net程序员,认为那些人比较菜,才学入门级的语言。Java程序员对.Net也不待见,我们会Spring,Hibernate等一大堆框架,你们除了用类库还会什么? 这些看法有些确实是偏见,我们大可以有力地回击。有些看法却也不无道... [阅读全文]

程序员编程艺术,每个程序员都必须遵守的编程原则

本文是从 The Principles of Good Programming 这篇文章翻译而来。 好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员,我相信,这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。 不要自我重复(DRY - Don’t repeat... [阅读全文]

汉字与书法,程序与书法

前天在路上和朋友聊天,说起自己一直属于有恒心没耐心的那类人,说着说着,经他提醒,才发现了问题:自己的诸多爱好之中,没有一样是慢节奏的。 和一般的IT人士一样,自己一直生活在一种极其快节奏的环境里边。 以前喜欢骑山地车,尤其是冲旁边一座小山,原因是冲小山只要10分钟就能到顶而且很累,而骑平地就要几个小时才出汗。 以前喜欢打乒乓球,后来又喜欢上羽毛球,原因是如果耗费相同的时间,羽毛球运动量更大。 家里... [阅读全文]

我不写悲剧,Coding: 写 Test 还是不写 Test?

在 appWorks 有一些问题我们常常讨论,例如:用什么工具、做什么产品、该怎么营销、该跟谁合作、怎么合作、什么时候增资、该拿多少钱…等等,这些问题往往没有一定的答案,也必须要视情况而定。但越是没有标准答案的,我认为越是应该多讨论,这样才能帮助创业者们根据自己的情况,定义出最适合自己的处理方式。 而关于 coding,「要不要写 test」就是其中有一个这样的问题。我个人的意见是... [阅读全文]

java并发编程,Java 多线程与并发编程总结

认识多任务、多进程、单线程、多线程 要认识多线程就要从操作系统的原理说起。 以前古老的DOS操作系统(V 6.22)是单任务的,还没有线程的概念,系统在每次只能做一件事情。比如你在copy东西的时候不能rename文件名。为了提高系统的利用效率,采用批处理来批量执行任务。 现在的操作系统都是多任务操作系统,每个运行的任务就是操作系统所做的一件事情,比如你在听歌的同时还在用MSN和好友聊天。听歌... [阅读全文]

优秀的程序员,如何辨别优秀的程序员

英文原文:How to recognise a good programmer 这并不是想象的那么容易。简历上的工作经历并不能说明什么问题,因为卓越的程序员并非总是有“正式”的工作经验来说明他们有多优秀。事实上,简历上的工作经历往往会误导。不过,从简历中还是可以得到某人是否是卓越程序员的一些细微线索。 我觉得自己是一个非常优秀的程序员。同时,我也花费了大量的时间在商业圈,... [阅读全文]
< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > >> 共1207条 分41页