关于服务
翻译我是一名Eiffel开发者,工作中正确性不是一个附加的好处,而是任务的核心。大多数面向对象的代码依赖于测试和希望;我依赖于契约设计——契约编程。每个类公开声明其承诺:调用者必须满足的前置条件、方法保证的后置条件,以及在对象生命周期内始终为真的类不变式。这样的契约是可执行的规范,可以在开发期间运行时检查,并且永远是一份文档。当某些东西出错时,检查会在违反边界时触发,错误会在源头被捕获,而不是在三层之后以损坏状态浮现。
我的工程围绕严格的静态类型、空安全和语言本身强制的纪律构建:小心的继承与重命名和选择、命令与查询的分离、统一访问,以便客户端不依赖于存储实现。我设计的小型、内聚且可证明可组合的类集群,通过契约保持其诚实,随着系统的增长。我流利地使用EiffelStudio及其增量编译器,应用SCOOP实现无数据竞争的并发,并在项目需要时将Eiffel与C及现成库链接。性能和可靠性对我来说是合作伙伴:我分析真实负载,而不是猜测。
我从零开始接手系统,并拯救需要变得可靠的脆弱遗留系统。我可以逐步将契约引入未充分指定的代码,强化风险最高的模块,并留下检查和测试的集合,记录下一位工程师的意图。如果你正在构建必须正确的东西——金融逻辑、控制软件、其他团队依赖的工具——我带来一种“先验证”的方法,在用户发现缺陷之前捕获它们。
— 从零开始在Eiffel中进行应用和库开发
— 契约设计:前置条件和后置条件、类不变式、循环变体
— 空安全、严格类型的类和集群架构
— 遗留系统强化和逐步引入契约
— 通过SCOOP实现并发,并与C及外部库集成
— EiffelStudio配置、构建、性能分析和测试套件
我的工程围绕严格的静态类型、空安全和语言本身强制的纪律构建:小心的继承与重命名和选择、命令与查询的分离、统一访问,以便客户端不依赖于存储实现。我设计的小型、内聚且可证明可组合的类集群,通过契约保持其诚实,随着系统的增长。我流利地使用EiffelStudio及其增量编译器,应用SCOOP实现无数据竞争的并发,并在项目需要时将Eiffel与C及现成库链接。性能和可靠性对我来说是合作伙伴:我分析真实负载,而不是猜测。
我从零开始接手系统,并拯救需要变得可靠的脆弱遗留系统。我可以逐步将契约引入未充分指定的代码,强化风险最高的模块,并留下检查和测试的集合,记录下一位工程师的意图。如果你正在构建必须正确的东西——金融逻辑、控制软件、其他团队依赖的工具——我带来一种“先验证”的方法,在用户发现缺陷之前捕获它们。
— 从零开始在Eiffel中进行应用和库开发
— 契约设计:前置条件和后置条件、类不变式、循环变体
— 空安全、严格类型的类和集群架构
— 遗留系统强化和逐步引入契约
— 通过SCOOP实现并发,并与C及外部库集成
— EiffelStudio配置、构建、性能分析和测试套件