阅读更多

4顶
1踩

研发管理

转载新闻 编程从业 5 年后的 14 条经验

2013-04-19 17:48 by 副主编 WnouM 评论(44) 有21675人浏览



排列不分先后:

1. 当性能遇到问题时,如果能在应用层进行计算和处理,那就把它从数据库层拿出来。排序和分组就是典型的例子。在应用层做性能提升总是要比在数据库层容易的多。就像对于MySQL,sqlite更容易掌控。

2. 关于并行计算,如果能避免就尽量避免。如果无法避免,记住,能力越大,责任越大。如果有可能,尽量避免直接对线程操作。尽可能在更高的抽象层上操作。例如,在iOS中,GCD,分发和队列操作是你的好朋友。人类的大脑没有被设计成用来分析那些无穷临时状态——这是我的惨痛教训所得。

3. 尽可能简化状态,尽可能局部本地化,适用至上。

4. 短小可组合的方法是你的好朋友。

5. 代码注释是危险的,因为它们很容易更新不及时或给人误导,但这不能成为不写注释的理由。不要注释鸡毛蒜皮的事情,但如果需要,在某些特殊地方,战略性的长篇注释是需要的。你的记忆会背叛你,也许会在明天早上,也许会在一杯咖啡后。

6. 如果你认为一个用例场景也许“不会有问题吧”,它也许就是一个月后让你在发布的产品中遭受惨痛失败的地方。做一个怀疑主义者,测试,验证。

7. 有疑问时,和团队中所有相关人交流。

8. 做正确的事情——你通常会知道这指的是什么。

9. 你的用户并不傻,他们只是没有耐心理解你的捷径。

10. 如果一个开发人员没有被安排长期的维护你们开发的系统,对他保持警惕。80%的血、汗、泪水都是在软件发布后的时间里流的——那时你会变成一个厌世者,但也是更聪明的“行家”。

11. 任务清单是你的好朋友。

12. 主动让你的工作更有乐趣,有时这需要你付出努力。

13. 悄无声息的崩溃,我仍然会为此从噩梦中惊醒。监控,日志,警报。清楚各种的假警报和不可避免的感觉钝化。保持你的系统对故障的敏感和及时警报。

14. 复杂是大敌。

*边注:Rich Hickey先生的谈话和Robert Martin先生的《Clean Code(代码整洁之道)》一书最近给我的工作带来了非常积极正面的影响。

英文原文:14 lessons after five years of professional programming / 译文:外刊IT评论
  • 大小: 37.4 KB
来自: 外刊IT评论
4
1
评论 共 44 条 请登录后发表评论
4 楼 wx_hello 2013-04-19 21:15
同意4楼说法。。
3 楼 squirel 2013-04-19 21:09
第一条完全不赞同,尤其是数据量大的时候,多出来很多网络IO;对于“在应用层做性能提升总是要比在数据库层容易的多”也深表怀疑,难道你很容易就能写出一个比数据库自身算法更好的算法出来?
2 楼 wx_hello 2013-04-19 20:12
悄无声息的崩溃
1 楼 weishouzi 2013-04-19 18:00
监控,日志,警报。清楚各种的假警报和不可避免的感觉钝化。保持你的系统对故障的敏感和及时警报。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 18种html5图片分页导航按钮样式动画特效

    18种html5图片分页导航按钮样式动画特效

  • libghttp 示例代码

    前些时间,由于找不到一个比较好使用的http库,自己封装了一个,不过时间紧迫,也没有完整分析HTTP协议,因此心里总不塌实地使用它,一次偶然的机会,让我在网上找到一个好用的http库 -- libghttp,目前的版本因该是libghttp-1.0.9. 这个库十分的方便使用,它能够轻松地实现同步和异步的Http请求。 简单使用实例: #include int main(int

  • 收集自网络的wordpress 分页导航的代码教程(全网最全版)

    为什么80%的码农都做不了架构师?>>> ...

  • html js左侧导航栏,js实现简单分页导航栏效果

    本文实例为大家分享了js实现分页导航栏效果的具体代码,供大家参考,具体内容如下最终的效果:1. 分页需要的几个重要参数:总记录条数:totalCount (查数据库)每页记录数:pageSize (自己设置)总页数:totalPageNum (根据上面的参数计算)当前页: currentPageNum(前台传入)当前页要显示的内容 :List (查数据库: pageSize和curr...

  • 微信小程序开发:向数组中插入数据

    每次请求的数据插入到定义的数组中,之前数据不覆盖 concat(); Page({ data: { content: ['aaa', 'bbb', 'ccc'] }, //监听页面滚动到底部 onReachBottom() { const than = this; this.setData({ content: than.data.content.concat(than.data.content) }) } }) ...

  • js 实现简单分页导航栏

    最终的效果:  1. 分页需要的几个重要参数: 总记录条数: totalCount (查数据库) 每页记录数: pageSize  (自己设置) 总页数: totalPageNum  (根据上面的参数计算)  当前页: currentPageNum (前台传入) 当前页要显示的内容 : List<PageInfo> (查数据库: page...

  • 导航条和翻页代码

    1.翻页的静态页面实现 Document .fy{ width:958px; height:40px; list-style:none; border:1px solid red; padding:0;

  • Bootstrap(五) 导航条、分页导航

    本文转自:http://www.imooc.com/learn/141 导航条基础 导航条(navbar)和上一节介绍的导航(nav),就相差一个字,多了一个“条”字。其实在Bootstrap框架中他们还是明显的区别。在导航条(navbar)中有一个背景色、而且导航条可以是纯链接(类似导航),也可以是表单,还有就是表单和导航一起结合等多种形式。在这一节中将一起探讨B

  • PHP分页技术demo详解

    通过简单地例子解释php的分页原理,demo中附带分页链接生成函数,而且通过参数可以选择不同样式的分页链接

  • 分页导航功能实现方法

    一.利用数据库的关键字和算法 在SQLSERVER和ORACLE中,可以利用一些特殊的关键字和算法(SQL)来实现分页功能。 1)在SQLSERVER中,可以利用TOP关键字来实现分页功能,例如以下SQL就能实现分页算法: select top [pagesize] * from table where id not in ( select top [pagesize*(curre

  • libghttp库的使用心得

    需要用到native程序上网接收文件到本地,需要的协议为http。 由于android本身自带的chrome太过复杂,调用起来也不方便。在网上搜索过后,移植了libhttp到本地。比较简单易用,但程序是否能很好的支持多线程,这个还需要继续了解。 一开始参考网上的代码写了一个,但总是发现文件有错乱。在仔细debug后,发现问题出在使用同步和异步获取文件的问题上。在开发前,并没有好好的去区分异步和...

  • 如何实现分页?

    一、分页的原理 满足:position =(pageNo-1)*pageSize,如下图的规律所示: select * from pagin,得到总数据,结果如下 select * from pagin limit 0,3,得到第一页的数据,每一页显示3条,即pageNo=1,position=0(实际是从第一条开始),pageSize=3,运行结果如下,显示前三行数据,是我们想要...

  • libghttp

    这个库十分的方便使用,它能够轻松地实现同步和异步的Http请求。   src: http://libghttp.sourcearchive.com/   example: #include int main(int argc, char *argv[]) { char *uri = "http://www.hao123.com"; ghttp_request

  • CSS的分页导航制作

    CSS分页制作 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width>, initial-scale=1.0"> <title>Document</title> <style> .page{

  • 用Hugo搭建个人网站

    本文将介绍什么是Hugo,怎么用Hugo搭建个人网站,如何本地测试及如何发布到Github并生成Github pages。

  • PHP开发-分页实现(附效果图)

    首先一个分页类,如下(摘自网络)可拷贝直接使用<?php /* * Created on 2013-12-3 * 分页类 * To change the template for this generated file go to * Window - Preferences - PHPeclipse - PHP - Code Templates */ class Pagination

  • CSS 分页导航

    分页导航对于搜索引擎或电子商务网站,常常将信息分页显示,这样可以减少页面大小,进而提高页面的加载速度。分页显示后,就需要通过分页导航来告诉用户要浏览的信息量,方便用户快速跳过一些不想看的信息,也便于定位和查找。因此,分页导航也是很常见的、很重要的一种导航。实际上,CSS 分页导航的制作方法也很简单。分页导航一般包括上一页、页码、下一页三部分。首先,创建一个容器,来包裹分页导航的链接。如:&amp;lt;d...

  • 为GridView控件添加分页导航条形式代码

    在GridView中实现分页的效果方法很简单,只需要在“GridView任务”对话框中进行设置就可以了。在“GridView任务”对话框中,选择“启用分页”命令,这样建立起简单的分页效果。在使用“启用分页”命令的时候要注意两点。(1) 是否允许分页GridView的AllowPaging属性。AllowPaging:是否允许分页。如果AllowPaging=“true”就是允许分页

Global site tag (gtag.js) - Google Analytics