最新文章
NoSQL 在腾讯应用实践 数据库
吴悦,腾讯大讲堂特约讲师,腾讯T4技术专家。先后参与腾讯分布式文件系统(TFS),K-V存储,SQL集群,接入网关(TGW)的设计与研发。见证了腾讯NoSQL从07年诞生,08、09批量应用,10年至今应用于腾讯开放平台让更多的第三方开发者使用;关注于构建具有低成本、高性能、高可用,可扩展,易运...
代码质量随想录(四):排版,不只是为了漂亮 编程基础
写了前三篇(一、二、三)之后,发现比我预想的效果要好。关注代码质量的朋友还蛮多的,而且很多意见和建议也很有益,指出了我文章中的一些问题。 我这种家庭妇男型的自由职业者来说,在平常写代码的时候可以多停下来,思考一些代码质量与软件设计方面的问题。当然啦,由于具体的工作环境、关注领域、自身阅历等原因...
代码质量随想录(三):名字好,误会少 编程基础
写完前两篇(一、二)之后,有点小倦怠,因为一方面要整理读书笔记,一方面还要结合自己的思路加以重新表述,颇费周张。不过前两日看到有小朋友过来赞我的文章,说对实际代码有所帮助,还是满欣慰的,本系列随想录的目的之一,就是要营造一个努力改良代码质量的思维环境。 要想让标识符的名称更易理解,就应该多考虑...
代码质量随想录(二):必也正名乎 编程基础
不必被我的标题吓到哈,孔老夫子时代没有电脑。如果有,估计诸子百家们还得针对软件工程抒发一系列代码质量伦理学的教条。 上回文章说到,代码品质改进应该在三个层面上展开,其中最微观的就是代码段的质量考究了。很多时候我在针对一些项目做工程分析和大规模重构之前,首先希望对大概的工作原理有些了解,这个时候...
代码质量随想录(一):可读是王道 编程基础
一直以来想写点关于代码质量的心得,碍于自身的懒惰。今天终究找到一个提前忙完工作的午后,可以先让自己的思路开动起来了。 最终促使我开始整理自己对于代码质量的看法,还多亏了前阵子认识的Long小朋友,他及时地向我推荐了《The Art of Readable Code》这本书(下文简称ARC)。在...
编程高手与调试高手 编程基础
业界总是有高手之说,高手成了程序员心中之偶像,成了程序员成长之目标。但是,现实中人们往往对自己所了解的程序员,很难认同为高手;人们反而对那些自己不了解的,甚至是道听途说的人会认作为高手了。高手,同武林高手一样,神秘之至。 许多程序员都有这样的经历:无论自己编写什么很短很短的程序,一般是很难一次...
我所信奉的编程哲学 程序人生
从去年到今年,陆陆续续看完了《代码大全》、《重构》、《代码整洁之道》、《程序员修炼之道》以及《The Art of Readable Code》,获益匪浅。下面就分享几条我赞同并信奉的编程哲学,顺便废话几句。 本文适合有一定编程经验的读者阅读,高手请轻喷:) 代码是写给人看的(Coding ...
心态和想法,是提高编程水平的关键 程序人生
英文原文:What is the single most effective thing you did to improve your programming skills? 你是否有时候会觉得自己的技术水平停滞不前,想突破但又找不到门路?最近在stackexchange上看到了一个非常好的...
详图实证:再谈JavaScript的语源问题 Web前端
本文发布于2011-08-02 有两个错误的观点,其一是“JavaScript在语源上继承自Cmm”。这个错误的观点主要的来自于以下途径(部分):2002年10月7日的《Wired Magazine(连线杂志)》的一份名为“Mother Tongues”的图;O’Reilly公布的“The H...
还原JavaScript的真实历史 Web前端
本文发布于2007-12-13 问题 JavaScript真的继承自Cmm吗? JavaScript与Java有多少关系? JavaScirpt最初的设计是怎样的? 在许多资料,JavaScript的语源被追溯到一种名为Cmm的语言。同样是在这一溯源的过程中,人们发现“其实”JavaS...
编程给你现实生活带来了哪些坏习惯 程序人生
英文原文:What happened to “What real life bad habits has programming given you?” 1. 编程已给我带来很多坏习惯,编程也每天在继续给我新增更多的坏习惯。当然有些习惯和编程无关了。下面这些习惯尽管我也很想改掉,但已根深蒂固。...
多疑到刚刚好:防御性编程 编程基础
英文链接:Defensive Programming: Being Just-Enough Paranoid 每当程序员突然遇到某个bug并不知道怎么改的时候,他们会添加一些“防御性代码”来使编码更安全并且更容易找到问题的原因。有时这样做可以消除错误。他们加强了数据的有效性验证——检验输入框、...
从经理的角度看技术债务 软件工程
英文原文:Technical Debt a Perspective for Managers 作者:Mark Levison 译者:赖勤毅 发布于 2010年11月5日 现在已经到第十次迭代开发周期了,你的项目开发速度开始变慢。在之前的几个迭代周期中,团队没有像以前那样完成很多的“故事场景”...
浅谈软件架构师的素质与职责 程序人生
最近开始学习如何成为一名合格的架构师。首先参照别人的观点,在结合自己的实际经验,写出自己对如何成为一名架构师的理解,希望大家热心于与援手,能够指点一二。 沟通能力和自我表达 我认为沟通能力是基本中的基本,最为重要,最为普遍的素质。技术人员好像容易忽略,想成为架构师就不能忽略。因为架构师要做的...
API设计新思维:用流畅接口构造内部DSL 软件设计
程序设计语言的抽象机制包含了两个最基本的方面:一是语言关注的基本元素/语义;另一个是从基本元素/语义到复合元素/语义的构造规则。在C、C++、Java、C#、Python等通用语言中,语言的基本元素/语义往往离问题域较远,通过API库的形式进行层层抽象是降低问题难度最常用的方法。比如,在C语言中...
什么是 HTTP Headers? Web前端
什么是HTTP Headers HTTP是“Hypertext Transfer Protocol”的所写,整个万维网都在使用这种协议,几乎你在浏览器里看到的大部分内容都是通过http协议来传输的,比如这篇文章。 HTTP Headers是HTTP请求和相应的核心,它承载了关于客户端浏览器,...
什么时候学习编程都不晚 程序人生
英文链接:It’s Not Too Late to Learn How to Code导读:作者Jean Hsu现就职于Pulse,是一名Android工程师。她近日写了一篇文章《It’s Not Too Late to Learn How to Code》。文中提到了她自己在学习代码的过程中虽...
盲人程序员的编程生涯 程序人生
本文来自于Stackoverflow上的一个问题,下面确实有很多盲人程序员作出回答,笔者感触颇深,故整理成文。具体技术细节不必深究,主要了解一下他们的工作状态,以期让更多的朋友关注残障人士的生活与工作。 原问题大致如下:视力应是大多数程序员理所当然应有的感官之一,大多数程序员都会花大量的时间盯...
学习的科学:适合大脑的最佳途径 程序人生
英文原文:The Science of Learning: Best Approaches for Your Brain 作者:Mark Levison 译者:高翌翔 发布于 2010年9月3日 你想知道为什么人们不明白你在会议中设法说明的想法吗?你是否正在指导另一位开发者,并且努力想弄明白...
程序员的7个坏习惯 程序人生
英文原文:top-7-programmers-bad-habits 1. 所有的代码都是垃圾,除了我的以外 哥们儿,我有一个坏消息要告诉你,你的代码很垃圾。不管你花费了多少精力,总是有很多程序员认为你的代码是垃圾,他们可以比你做的 10 倍更好。 怎么解决:不要只顾着批评,你也是写代码的...