首页 新闻 招聘 找找看 知识库

[程序人生] 程序员要有持续产出

我相信,所有程序员都需要在下面两点之间找到一个良好的平衡: 1. 把自己关在一间私密的办公室里,针对你的程序与编译器展开一次亲密对话。 2. 出入公众场合,与其他人公开谈论你的程序。 关于这个话题,我

[软件工程] 代码审查过程

英文链接:Code Review Processes 对我而言,把代码产品化而没有合适的审查流程,就像是一场抽抽乐游戏。代码当然也有可能会挺好,不过总还是有一定概率某人的哪块积木没抽好,然后一切就轰然

[软件工程] 所谓软件工程

很多编程的人包括我,头衔叫做“软件工程师”(software engineer),然而我却不喜欢这个名字。我喜欢把自己叫做“程序员”(programmer)或者“计算机科学家”(computer sc

[其他分类] 也谈怎么学好英语这件小事

近来翻译了不少国外的创业产品类文章到简书和虎嗅以及 36 氪等。承蒙大家错爱,很多网友都觉得鄙人翻译的水平挺高的,然后速度也挺快的-基本上每天靠着晚上那点点时间都能有一篇文章出来。不少人开始问我英语应

[Web前端] 前后端分离了,然后呢?

前言 前后端分离已经是业界所共识的一种开发/部署模式了。所谓的前后端分离,并不是传统行业中的按部门划分,一部分人纯做前端(HTML/CSS/JavaScript/Flex),另一部分人纯做后端,因为这

[软件设计] 撰写合格的REST API

两周前因为公司一次裁人,好几个人的活都被按在了我头上,这其中的一大部分是一系列REST API,撰写者号称基本完成,我测试了一下,发现尽管从功能的角度来说,这些API实现了spec的显式要求,但是从实

[互联网] 深入NGINX:我们如何设计它的性能和扩展性

英文原文:Inside NGINX: How We Designed for Performance & Scale 为了更好地理解设计,你需要了解NGINX是如何工作的。NGINX之所以能在

[软件工程] 文化编码(Coding Culture):帮你构建更强的团队,创造更好的产品

英文原文:Coding Culture: How To Build Better Products by Building Stronger Teams 译/丛一 软件开发人员通常会付出大量的时间和精

[软件设计] 领域驱动设计阅读思考

2011年3月份还在华为夜以继日的时候,买过一本《领域驱动设计:软件核心复杂性应对之道》,虽然努力的看过一次,没看懂,觉得都距离我很遥远。2014年4月,在ThoughtWorks还不到一年,买了一本

[程序人生] 程序员不是砌砖工人,他们是作家

英文原文:Your Developers Aren’t Bricklayers, They’re Writers如果你有 10 个程序员,最好的那个可能至少比最差的那个好 5 倍。这绝对不是胡扯。我们

[软件工程] 技术债务偿还计划

英文原文:Technical Debt: A Repayment Plan 什么是技术债务? 许多团队都受技术债务困扰,不过,很少有团队能真正地设计一个计划从中挣脱出来。为了更好的理解如何才能摆脱债务

[程序人生] 那些令人喷饭的代码注释:仅以此代码献给...

程序源代码中的注释经常是一个卧虎藏龙的地方,有人就很喜欢写幽默搞笑的注释内容。解释代码含义的同时,也带给人轻松神经的机会,确实是很有意思的风格,来看看这一辑国外某公司产品中的注释。 注意:看的时候严禁

[编程基础] 给代码多留一些空间

英文原文:Give your code some space! 最近在几个不同的团队中发现他们的编码规范中对空格的用法大不相同。这激起了我的好奇心,因为我一直觉得,对于代码格式中的空格的使用,应该有一

[软件设计] 领域驱动设计系列(2)浅析VO、DTO、DO、PO的概念、区别和用处

上一篇文章作为一个引子,说明了领域驱动设计的优势,从本篇文章开始,笔者将会结合自己的实际经验,谈及领域驱动设计的应用。本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。 由于不同

[程序人生] 新手学习编程的最佳方式是什么?

英文链接: What are the best ways for a complete beginner to learn programming 回答这个问题是我最近两年来唯一的关注点。我觉得此处提

[软件设计] 领域驱动设计系列(1)通过现实例子显示领域驱动设计的威力

曾经参与过系统维护或是在现有系统中进行迭代开发的软件工程师们,你们是否有过这样的痛苦经历:当需要修改一个Bug的时候,面对一个类中成百上千行的代码,没有注释,千奇百怪的方法和变量名字,层层嵌套的方法调

[编程基础] 操作系统课程是如何改变我的

英文原文:How a course in operating systems changed me 在普林斯顿大学有很多课程改变了我,就像COS 318(操作系统课程)。它极有挑战,耗时耗力,但是当我

[软件设计] 微服务实战(一):微服务架构的优势与不足

英文原文:Introduction to Microservices 这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台CloudFound

[编程基础] 编写高质量的代码——从命名入手

笔者从事开发多年,有这样一种感觉,查看一些开源项目,如Spring、Apache Common等源码是一件赏心悦目的事情,究其原因,无外两点:1)代码质量非常高;2)命名特别规范(这可能跟老外的英语水

[软件设计] 领域驱动设计系列(3)有选择性的使用领域驱动设计

本系列的第一篇博文抛砖引玉,大谈领域驱动设计的优势,这里笔者还是希望以客观的态度,谈谈领域驱动设计的缺点及其不适合使用的场景,以让读者可以有选择性的使用领域驱动设计。 我们知道,没有最好,只有最合适,