找回密码
 骑士注册

QQ登录

微博登录


tag 标签:

相关文章

  • 「毁灭战士3」源码就是“保持简洁”的证明

    假如你在网上搜最好的C++源代码。「毁灭战士3 | Doom 3」的源代码肯定会被提到好多次,这篇文章就来证明为何如何说。 我花了一些时间通读了 DOOM3 的源代码。这可能是我见过的最干净最漂亮的代码了。DOOM3是由id Software公司开发、Activision发行的视频游戏。该游戏为idSoftware赢得了商业上的成功,已售出350万多份拷贝。 在2011年11月23日,id Software维持开源传统,发布了他们上一个引擎的源代码。这份源代码已经被很多开发者审查,这里就有个fabien反馈的例子(链接): DOOM3 BFG是用C++写的,一种庞大的语言,它既能写出优秀的

    2015-1-24 10:26     

  • 成为一名更好的程序员:如何阅读源代码

    阅读源代码有许多益处。你会发现新的架构(construct)和库,与其他的代码维护者产生共鸣,但最重要的是学会如何组织代码,避免因内部极其复杂而变得不可维护。 但是也有一个不好的地方,那就是阅读源代码太困难了。每当我看到一个新的代码库(code base)时,这种让人眩晕的感觉就充斥了我的大脑。我的内心告诉我压根不想趟眼前这趟浑水。 这是(希望是)正常的反应。当我们的大脑接触过多的新东西,就会产生排斥。造物主赋予我们的这台强大的模式匹配机器根本找不到规律。所有的抽象(abstraction)都是之前没见过的,类的名称也毫无印

    2015-11-28 10:15     Louie Dinh

  • 为什么你的代码如此难以理解

    我到底在想什么?!? 凌晨1:30分,我正盯着不到一个月前我写的一段代码。当时它看起来像是件艺术品,全部是可理解的,优雅、简单、让人叹为观止。这一切都不再了,明天是我的最后期限,数小时前我发现了一个bug。当时看起来的简单和逻辑再也说不通了。可以肯定的是,如果是我写的代码,我应该足以聪明到理解代码? 经过了多次这种经历以后,我开始认真思考,为什么我的代码在我编写的时候很清楚、而当我数周或数月后回头看的时候,它们却那么费解。 问题1,过度复杂的心智模型 为了理解当你间隔一段时间返回到你的代码、却发现代码难以理

    2014-12-21 17:01     

  • [元旦福利]《驯服烂代码:在编程操练中悟道》转发赠书

    真正的编码态度,就是要在任何时刻都要保持精益求精,务求代码的正确无误,务求代码的清晰可读。新年伊始,2015年,让我们和烂代码say goodbye~即日起至1月5日转发此微博,关注@Linux中国 @华章图书 就有机会获赠《驯服烂代码:在编程操练中悟道》图书一本

    2015-1-1 10:50     

  • 为什么千万不要重写代码?

    程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来。是的,他们决不会满足于简单的增量劳动。 或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补。他们认为旧代码简直一团糟。 但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难。 为什么你觉得旧代码异常混乱?因为读代码更难。 这大概就是代码Reuse难以实现的原因。 这就是你组里的每个人都喜欢用不同的功能将分割的字符

    2015-6-29 14:39     100offer.com

  • 软件之间有什么关系?看完这个你就晕了

    当你看到上面的动图时,你大概以为这是宇宙中的某个角落,其中每一个光点都是一个太阳。但事实上这是一个软件包管理器宇宙。其造物主是AndreiKashcha,对于这一项目,他是这么解释的: 这里的每一个点都是一个软件包,每一个软件包的位置都是根据软件包之间的相互依赖关系而通过图形布局算法确定的。一些封包之间有线条相连,这意味着一个软件包和另一个软件包之间存在依赖关系。只有在比较近的时候才能看见图像之间的依赖关系,拉得较远的时候就会变得模糊不清。 就像星空一样,这个项目名叫代码星系(CodeGalaxies),你可以自己感受

    2015-7-25 09:26     吴攀

  • 如何选择一个适合自己的开源项目来阅读

    人们都说, 阅读源码是提高编程水平的一个极好的方法, 但是如何找到一个适合自己阅读的源码, 就蛋疼的很。 优秀的开源项目非常多, 肯定是看不完的。 而且如果没有一个明确的目的, 只是因为火就看, 则事倍功半。 我更像一个后台开发程序员, 所以以下观点都基于后台程序员的视角出发。 从 Node.js 和 Tornado 出发 在几个月前, 我学习了 Tornado 框架并用来做了一个项目; 而 Node.js 则是最近几天才开始学的。 所以很可能会有说的不严谨的地方。 Tornado 是一个异步非阻塞服务器应用与轻量级Web框架的结合体。 Node.js 则是一个开源

    2015-9-10 10:56     Jecvay

  • 为什么我要垂直对齐代码

    上周在 HackerNews,关于Linux Kernel 代码风格展开了有趣的讨论。 在讨论中,我就应不应该垂直对齐代码发起了一场小小的圣战。我完全支持!让我细说端详。 (题图来自: yogizendude.com) 什么是垂直对齐? 举个小例子: int robert_age = 32; int annalouise_age = 25; int bob_age = 250; int dorothy_age = 56; 下面的代码更易于阅读: int robert_age = 32; int annalouise_age = 25; int bob_age = 250; int dorothy_age = 56; 我扫一眼就能看到bob_age有点儿不正常。我不用多费事,就轻松地看出来它们都是整数。 这条意见还没被

    2015-12-2 10:39     Terence Eden

  • 面对 20 亿行代码,Google 如何管理?

    面对Google 这家公司有多大?这种问题,你可能会用收入、股票价格、客户数量或者是形而上学的影响力来回答这个问题。但是,这还不是全部。Google 作为全球最大的互联网公司,我们当然可以用互联网思维来思考这个问题,比如用代码数量来衡量它。 来自于 Google 的 Rachel Potvin,在周一举办的硅谷工程会议上给了我们一个可以参考的答案。她表示,运行所有 Google 互联网服务的软件,包括了 Google 搜索、Gmail、Google地图等,大约有20亿行代码。相比之下,从20世纪80年代就开始开发的 Windows 操作系统有史以来为单一计算机所开发的最复

    2015-9-18 09:59     思睿

  • 好代码的科学定义

    你如何定义好的代码?本文通过咨询65个开发人员同一个问题从而得出了一个伪科学的答案。 首先我们相信写好代码是非常重要的。为什么呢?首先,好代码比差代码更有趣,成本更低。其次,代码好,就意味着你正在构建的产品有可能会更好。第三,也是非常关键的一点,写出好的代码是我们的职责:毕竟,我们的工作就是写代码。 方法 由于此65名开发人员都是我们某个职位的应聘者,所以这意味着这些样品开发人员大多偏向于使用Java或Scala技能,并且通常有着5年及以上的工作经验。 问题统一:怎样写好代码?你如何定义好代码?并且在面试时由同

    2015-6-24 14:54     Albert Pastrana, 小峰

返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。