最新文章
高质量的工程代码为什么难写 程序人生
之所以想起写这篇文章,是因为最近看到的一个著名的开源项目在内部使用时的各种问题,不得不说,很多的开源的东西思想是不错的,但离真正工程化都有不小的距离,所以没什么商业公司采用的开源产品如果要引入的话一定要慎重,通常会有N多的坑等着你去填,而比较成功的开源项目的背后多数都会有商业公司在背后不断的改进...
循序渐进地代码重构 程序人生
英文原文:Refactoring -- Not on the backlog! 对于如何进行代码重构,一直有着很多种说法。很多人都认为应该将重构代码放在backlog里。但是其实,这并不是一个理想的方法。 在项目刚刚开始的时候,你的代码很干净。 即使有的时候需要小小的绕一下路,但是...
技术的正宗与野路子 程序人生
黄衫女子的武功似乎与周芷若乃是一路,飘忽灵动,变幻无方,但举手抬足之间却是正而不邪,如说周芷若形似鬼魅,那黄衫女子便是态拟神仙。 这段描写出自《倚天屠龙记》第三十八回。 “九阴神抓”本是《九阴真经》中的上乘武功,但当初梅超风夫妇由于拿到的《九阴真经》不完整,学不到里面的内功心法,硬是把这...
陈皓:什么是工程师文化? 程序人生
四年前,我在 QCon 上演讲了一个《建一支强大的小团队》(整理后的 PPT 分享于这里)提到了工程师文化,今天,我想在这里再写一篇关于工程师文化的文章,一方面是因为我又有了一些想法和体会,另一方面,因为我也正走在创业的道路,毫无疑问,要建一个有浓重的工程师文化的团队或公司,所以有必要把自己的相...
没那么难,谈CSS的设计模式 Web前端
什么是设计模式? 曾有人调侃,设计模式是工程师用于跟别人显摆的,显得高大上;也曾有人这么说,不是设计模式没用,是你还没有到能懂它,会用它的时候。 先来看一下比较官方的解释:“设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模...
程序猿媳妇儿注意事项 程序人生
十一年前我和程序猿第一次见面,还是大一军训期间。我甚至不确定程序猿是否记得那是第一次见面。当时不小心装伪文艺参加了吉他社,想借一本吉他入门书,然后同在吉他社热心的海哥说他一同学有,就带着我去拿书了。于是我们第一次“见面”了,我只看见一个对着电脑,佝偻着背的背影......严重怀疑程序猿根本没抬头...
可是姑娘,你为什么要编程呢? 程序人生
本来你一个姑娘,可以去做一双贴满水晶的blingbling美甲更显十指纤纤,不用担心敲键盘不方便; 可以不时到健身房练练瑜珈来磨练心性,而不是通过看着满屏代码调bug; 可以洗完泡泡浴早早躺下睡个美容觉,而不是深夜赶紧贴上面膜,多少有些自欺欺人地告诉自己,刚才电脑的辐射才不会摧毁皮肤的...
知其所以然(以算法学习为例) 编程基础
原文发表于2008年 其实下文的绝大部分内容对所有学习都是同理的。只不过最近在正儿巴经地学算法,而后者又不是好啃的骨头,所以平时思考总结得就自然要比学其它东西要多一些。 问题:目前几乎所有的算法书的讲解方式都是欧几里德式的、瀑布式的、自上而下的、每一个推导步骤都是精准制导直接面向目标的。...
如何给变量取个简短且无歧义的名字 编程基础
湾区日报上分享的一篇文章,文章的作者在Google设计Dart语言,就变量命名方面给了4点建议,文中也列出了好变量名、坏变量名的对比。不管作者的看法与你实际中的命名习惯是否一致,看完这篇文章,相信可以在变量命名方面有一些新的思考。 英文原文:Long Names Are Long 译/...
编程的智慧 程序人生
编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做到一分耕...
写给初学前端工程师的一封信 Web前端
大家好: 应波波的邀请写一写我对这个话题的想法。从去年开始不少朋友让我帮忙介绍前端工程师,绝大部分忙都没帮上,原因是真找不到人。我当时是这么跟他们分析的:过去的客户端以browser为主,所以html/css/javascript是唯一选择,现在可是mobile first,于是大量前端开发...
抽象:程序员必备的能力 程序人生
2015年大热的动画片《动脑特工队》中描述了这么一个场景, 冰棒带领乐乐和忧忧抄近路去乘坐思维列车,所谓的“近路”就是穿过抽象思维的房间,在这个房间里, 他们先是变成了变成3D的块,就像计算机图形学里展示的那样: 然后变成平面的图形 最后只剩下一些线条了 ! 真是非常生动的展...
编程同写作,写代码只是在码字 程序人生
看到一篇文章《We Are Typists First, Programmers Second》,日期是2008年,好早的一篇文章。当现在打算以一个新人的身份重新进入编程领域,或许是受《重来》的影响,或者只是在重新思考——我们究竟应该如何去编程。 写代码只相当于写字 编程这件事情实际上一...
遇见程序员男友 程序人生
“你爱我吗?” “爱。” “有多爱?” “比爱1024还爱你。” 听到这句话,我有过1024次拍死我的程序员男友的冲动,最终看在他脸上写满诚恳的样子的份上,还是只朝他撇了撇嘴。 如你所看见的,我的男朋友是一名程序员,一名因为长期写代码而会让人产生连他的那张脸上也写满代码的错觉...
设计师的视觉设计五项修炼 视觉设计
我的职责通常是产品战略和设计方向的规划,很少参与具体的设计细节,但我一直相信基础设计技能对于设计思维的影响,以下五条是我认为页面设计最基础的技能要求。没有经历任何艺术教育的设计师(比如我)也可以通过对以下五项修炼的培养迅速提高基础设计能力。 草绘 无论前端技术发展成什么样,在自然交互界面...
我听到过的最精彩的一个软件纠错故事 程序人生
英文原文:The Best Debugging Story I’ve Ever Heard 那还是80年代初期,我爸爸在一家存储设备公司工作,这个公司现在已经不存在了,它生产磁带机和驱动这些磁带高速运转的气动系统 —— 这是那个时代的产物。 (Used under license from ...
如何避免软件工程中最昂贵错误的发生 软件工程
英文链接:How to Avoid One of the Costliest Mistakes in Software Engineering 前几周,一位年轻的初创企业工程师过来寻求我有关代码重写的建议。其管理层希望她的团队在4周内完成Web产品的代码重写工作。这已进行了3个多月,但估计...
拒绝传统,看 Facebook 如何以三大法宝化茧成蝶 创业
文/覃超 ,本文来自公众号 InfoQ(infoqchina) 我将结合之前在 Facebook 的四年工作经验,介绍 Facebook 创新的管理方法以及整个工程文化形成的方法。 从大学宿舍到完整生态链:Facebook 12 年发展历程 首先我想解释下为什么我要说 Facebo...
当我们谈论极简设计,我们在谈些什么 视觉设计
使用留白的极简主义是现代设计的大趋势之一。很好的使用留白的人往往可以使你的页面第一眼看上去非常清爽,但是实际上用少量的元素和大量的留白做好设计还是有些难度的。甚至有些情况下你的客户不会那么喜欢,因为他们总是想要尽可能在页面上放更多的信息。 但是很多设计师都把极简主义的风格当做是一种挑战。极简...
用户体验设计遇见色彩情感 视觉设计
有一段时间没分享一点儿东西了,记得上次与大家分享过“情感化设计中的手绘应用表现”。今个再次煽情一下,与大家分享一点关于色彩情感的那些事儿,可能前部分的色彩介绍大家有了解过。但任何事情有因有果,所以还是先让大家了解下关于色彩的组成和色彩的情感等,再来简单说说在我们生活中和界面设计中的运用所带来的...