Best Practices for Scientific Computing

  • 给人写程序,而不是给计算机。
    • 一个程序,对于阅读它的人来说,不应该要求读者一次性的在大脑里加载过多的背景/相关知识。
    • 命名需要一贯、明确、有意义
    • 代码风格和格式要统一一致
    • 软件开发中的各种工作都要分割成1小时左右的任务
  • 重复性的工作自动化。
    • 让计算机去做重复性的工作
    • 把最近使用过的命令存到一个文件里,以备复用
    • 使用编译工具来自动化系统流程
  • 用计算机做历史记录
    • 用软件工具来自动跟踪计算机的工作
  • 逐步改进。
    • 每次做一小步,及时获得反馈,及时纠正
  • 使用版本控制。
    • 使用一个版本控制系统
    • 所有由手工创建的东西都要放到版本控制系统里
  • 不要重复自己(或他人)。
    • 系统中的每一段数据都要有一个权威的单一的存在
    • 代码应该模块化复用,而不是考来粘去
    • 复用代码,而不是重写代码
  • 准备好对付错误的方法
    • 在程序中增加断言,检查它们的各种操作
    • 使用现成的单元测试框架
    • 测试程序时借鉴所有的可用的经验
    • 把bug做成测试用例
    • 使用一个有代码指令的调试工具
  • 只在软件能正确的工作后才可优化。
    • 使用监控工具找到瓶颈
    • 尽可能的用高级语言写程序
  • 文档里描述的应该是设计思路和目的,而不是技术细节。
    • 描述接口和原因,而不是实现
    • 重构代码,而不是注释解释运行原理
    • 引用其它程序时嵌入其它程序的文档
  • 协作
    • 代码合并前进行代码审查
    • 当帮带新成员或解决特别诡异的问题时使用结对编程

    11. 维新旧代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值