您现在的位置:首页
--> 外刊IT评论
作为软件开发人员,我认识了很多程序员。他们要么创业办公司,要么是创业公司里股东;要么是在创业公司里打工,或者还在梦想着有朝一日成立自己的公司。我感觉,程序员对创业都非常感兴趣,要么自己创业,要么帮别人创业。 对于有志于创业的人,我的建议是:创业之前,先至少做出一个很好、很有用的产品。不必是用来盈...
偶尔的,我会被人问道:如何成为一名优秀的程序员,更或者,如何成为一名程序员。每次人们问起,我都力图给出不同的答案。因此,我的答案是各种各样的。下面就是我认为的成为一名优秀的程序员需要做的一些事情。记住,想成为一名程序员,很多条路可走,这里列出的只是我的方法。 1. 解决你自己的问题 ― 从外面获取答案和自己解决问题、找到答案,这两种方式是有区别的。...
让Google的程序如此优秀的一个最重要的事情看起来是非常的简单:代码审查。并不是只有Google做这个事情―代码审查已经被广泛的认可为一种非常好的做法,很多人都在这样做。但我还没有看到第二家这样大的公司能把这种事情运用的如此普遍。在Google,没有程序,任何产品、任何项目的程序代码,可以在没有经过有效的代码审查前提交到代码库里的。
如果你是个学生,你应该会C,C++和Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaScript知识。总体上说,我们很难发现会有学生显露出掌握超出这几种语言范围外的语言的才能。这真让人遗憾,因为还有很多种编程语言,它们能让你成为一个更好的程序员。 在这篇文章里,我将会告诉你,为什么你一定要学习Python或Ruby语言。
本文是从 The Rise of ``Worse is Better\'\' 这篇文章翻译而来。 我和几乎所有的Common Lisp和CLOS(Common Lisp Object System)的设计者都极度深受麻省理工学院/斯坦福大学(MIT/Stanford)设计风格的影响。这种风格的本质可以用“正确的做法(the right thing)”这个短语来概括。对于这样的设计者,重要的就是要遵循下面的这些设计理念: 简单性―设计必须简单,这既是对实现的要求,也是对接口的要求。接口的简单要比实现的简单更...
我是受最近的一个论坛帖子启发,他的想法至今仍让我感到奇特。 Turing(图灵) Turing绝对是一个双人皮划艇(感谢评论里的提醒)。它很小。人力的。它通常被当作初学者的”船“。而且它非常的加拿大。 Original photo by naokomc Java Java是一个大货船。体积笨重。适合大商业。载重量很大。但驾驶起来没多大趣味。 Original photo by cfarivar Perl Perl是一个拖...
这篇文章主要是对我收集的一些文章的摘要。因为已经有很多比我有才华的人写出了大量关于如何成为优秀Python程序员的好文章。 我的总结主要集中在四个基本题目上:函数式编程,性能,测试,编码规范。如果一个程序员能将这四个方面的内容知识都吸收消化,那他/她不管怎样都会有巨大的收获。 函数式编程 命令式的编程风格已经成为事实上的标准。命令式编...
泛型的主要好处就是让编译器保留参数的类型信息,执行类型检查,执行类型转换操作:编译器保证了这些类型转换的绝对无误。相对于依赖程序员来记住对象类型、执行类型转换――这会导致程序运行时的失败,很难调试和解决,而编译器能够帮助程序员在编译时强制进行大量的类型检查,发现其中的错误。
• 一次谷歌面试趣事
很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该接受,就是:你往往会在前几次面试中的什么地方犯一些错误。简单而言就是,不要首先去你梦想的公司里面试。面试中有多如牛毛的应该注意的问题,你可能全部忘记了,所以,先去几个不太重要的公司里面试,它们会在这些方面对你起教育(再教育)...
Javascript在互联网上名声很臭,但你又很难再找到一个像它这样如此动态、如此被广泛使用、如此根植于我们的生活中的另外一种语言。它的低学习门槛让很多人都称它为学前脚本语言,它另外一个让人嘲笑的东西是动态语言的概念是偏偏使用了高标准的静态数据类型。其实,你和Javascript都站错了立场,而现在,你让Javascript很生气。这里有五个原因能说明你的Javascript...
• 什么是REST?
让我来给你们做一个非常简单的,适用的解释。 REST 是一套用来创建Web Service的方法。 REST式的Web Service的主旨是让事情尽量的简单化。 REST式的Web Service使用HTTP里的方法:GET, POST, DELETE, PUT。你不需要使用URL或请求的内容来指定这个方法。 REST式的Web Service使用URL来指明你将要操作什么对象。 REST式的Web Service使用HTTP状态码作为返回值。 REST式的Web Service调...
本文是从 S.O.L.I.D. Class Design Principles 这篇文章翻译而来。 本文是由敏捷宣言签署人之一、《 Clean Code(代码整洁之道)》一书的作者Robert C. Martin为他的《Applying Principles and Patterns》这本书搜集整理而来。 单一责任原则(SRP) 只有一个理由去修改一个类。例如,如果一个业务规则的改变会导致这个类的修改,那么,数据库、界面、报表格式或系统任何其它的部分的改变都不该迫使这个类做修改。 http://davidhayden.c...
• 清除代码异味
今天,Venkat Subramaniam 就关于清除代码异味的话题给我们做了一个非常有趣的演讲。下面就是我记录的一些他的话。 为什么我们需要有质量的代码? 敏捷开发方法是用来应付那些要求代码做大量改动的反馈信息的方法。 如果程序没有用一种好的表达方式来表现,那程序会很难读,难维护,难修改。 什么是代码异味? 代码异味是一种由写的很差的代码...
如果你跟我一样(我担心你就是),那么,到目前为止,这应该是你对JSON的经验: 两个月前你从没听说过JSON 一个月前你听说了这个词但没有留意 一周前你发现这个词被提到多次,开始想,没错 … 又有一些垃圾东西要学了 今天你被心灵深处的一个闹铃闹醒,心想:这该死的json究竟是个什么东西?为什么突然间到处都是它了! 于是晚上我乘坐了一辆慢腾腾的公交...
我发现名人名言能激励人,鼓舞人或有时是煽动人,下面就是我这些年来最喜欢的几句。有时一本书能对你如何写程序或如何解决一个问题具有实实在在影响。有时一句简单的话已足够让你质疑对正在编写的代码的态度。有时候我惊讶于有些人如此的深谙这些藏在我心里多年、只是从未宣讲出来的道理。
• 代码的缩进和嵌套
Ash Furrow在关于避免不必要的代码缩进问题上这样说: 自从第一年一个睿智的高年级的学生向我展示了如何在代码里避免不必要的缩进后,我一直都保持着这种做法。我并不去纠正已有的代码,因为这并不能改善程序的性能,我只是在些新的程序里避免不必要的空格缩进。 我还有另外一个很相似的习惯,但并不是关于缩进的,而是关于避免嵌套。乍一看,这两个问题很相似(连视觉上...
以一个组织的形式完成项目、任务或实现某些目标,这被称作公司,这需要有完善的信息流转机制和长期的规划。过程管理在这种组织里是一个非常复杂的问题。这就是为什么这些年会出现了大量的诸如Scrum, Kaizen, Kanban等技术和方法论来尽可能简化这个过程。简言之,这些东西都是用来最有效的发掘你的员工的全部潜能的。 你有了一个领导 基于此,我们通常会有一个重要人物...
• 异常的代价
最近在dynaTrace上出现了一场关于异常(Exception)的代价的大讨论。在跟一些客户的接触中,我们经常的发现他们的代码里有大量的异常处理,自己都不知道。在移除了这些异常后,程序的运行速度比以前有大幅度的提高。这让我们产生了一种假想,程序中的异常处理语句是否给性能带来了巨大的开销?由此得出的推理会是,应该避免使用异常处理。由于异常处理是一个非常重要的处理错误情况的概念,完全的避免使用异常处理看起来并不是一种好的办法。总的来说,我们有充足的理由来近距离的观察一下异常的成本代价。
有一天我跟在DUMBO的一个非常棒的创业公司的老板聊天,谈到为什么非PHP界的开发人员普遍轻视PHP和PHP相关社区。他提出了一个观点让我印象很深,很大程度上是因为以前从来没有听到过这样的说法。 如果你不知道大多数的程序员都会对PHP发什么样的牢骚,那么,这些牢骚差不多会像这样: 语法丑陋 缺乏其它语言都有的一些必要的特征(在5.3版本之前,没有命名空间,闭包) 不一致的函...
• 抵制代码重写
昨天,一位老上级邀请我一起吃午餐。当坐在哪里等待上菜时,我们缅怀起早期这个公司的往事。他有一句话让我心里一虚: 啊,你这个判官…我记得当你看到Dan(公司的第一位程序员)写的代码时的样子。你说:“这代码写的真烂,需要重写!” 我恐怕是没有足够的勇气告诉他,我这“代码需要重写”的主张是错误的。不错,我认为这代码写的很乱。但是,据过去历次的经验,我感觉大部分...
近3天十大热文
- [54] Oracle MTS模式下 进程地址与会话信
- [54] Go Reflect 性能
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [53] 如何拿下简短的域名
- [52] android 开发入门
- [49] 图书馆的世界纪录
- [48] 读书笔记-壹百度:百度十年千倍的29条法则
- [47] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [31] 视觉调整-设计师 vs. 逻辑
赞助商广告