说说小团队开发(1)

从看到的一篇东西说起吧: 少人数開発に役立つ5つのまとめ

不会日文的用机器翻译,我也是这样看完的(不想看日文的就不要点击了)。因为这篇东西是对几篇文章的总结,我就简单总结和列出一些要点。

スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ

  1. 谨慎考虑究竟要做的是什么(YAGNI)
    1. 关系型数据库的使用
      1. 是否需要使用事务
      2. 锁的范围:是什么导致了数据库死锁(deadlock)
      3. 遵循范式的设计;谨慎考虑反范式的设计
    2. 切忌在服务器配置上铺张浪费,够用则好
    3. HTTP头是否被正确地设置?
    4. 浏览器缓存/中转代理服务器缓存是否被正确利用?
    5. Log rorating 是否正确地运作?
    6. 对全部log文件进行监控
    7. 是否进行了测试?测试结果是否正常?
    8. 测试是否经常被进行?结果是否正常?
    9. 服务器出现问题时,是否能够在最短时间内收到通知?
    10. 重复的工作是否已经全部自动化?
    11. 把握好文档的粒度:现有文档是否最新?
    12. 有没有多余的文档?
  2. 考虑使用现有的产品
    1. 不要重复制作 framework
    2. 自行开发:性能问题及扩展性问题——尽可能使用现有的解决方案
    3. 新人的培训问题:考虑现有资源,Google it.
  3. 模块化开发:松耦合
  4. 技术负债需要尽早还清
  5. 购买合适的服务器:服务器要易于扩展。
  6. 要有专职的服务器维护人员
  7. 考虑云服务
  8. 创建好的公司文化
  9. 新人员:在完成一个阶段的任务后再考虑补入新人员
  10. 晨会:每天?每周?或是公司内部研讨会?这些都尽可能避免
  11. 公司人员间的距离
  12. 人才储备:考虑内部推荐

複数人(2-3人)でウェブサービスを開発するコツ

  1. 开发环境
    1. 使用 VMware ESXi 构建开发环境
    2. Bug Tracking System + VCS: redmine/trac + git/subversion
  2. 规范化
    1. 有约定的编码规范,例如 Zend Framework 的编码规范
    2. 一分钟晨会:昨天干了什么,今天打算干什么
    3. 即使坐在隔壁也使用 Skype 或 IRC 通话:工作的状态被打断了是一件很困扰的事情。
  3. 开发
    1. 使用 tickets 进行任务分配
    2. 测试驱动开发
    3. 灵活使用 VCS 的 hooks
    4. 灵活使用 redmine 的 code review 插件
  4. 结束开发以后
    1. 文档化

还有一篇译文(当然是英文翻译到日文的),直接给出英文版链接: A successful Git Branching model

自动化测试

单元测试,Selenium,PHPUnit。有这几个关键字足矣(资料自己找去 :D )。

这篇完了

当然也有好部分内容没有翻译过来,原文链接已经给出,不做传声筒。

这是第一篇,所以肯定也有第二篇,下一篇再写点自己的东西。(这篇水分太多了?)