CC2e 术语:把 routine 译为“子程序”的理由

CC2e 术语:construction 译成“构建”还是“构筑”?       construction 恐怕是《Code Complete(代码大全) 第二版》这本书里惟一值得讨论的术语。construction 本意是“建筑、建筑物”。在这本书里用来指软件开发过程中最主要的一项活动,软件开发的活动包括:问题定义、架构、需求、设计、construction、系统测试等等。construction 中的主要活动包括:详细设计、编码、调试、集成、开发者测试(单元测试 阅读详情

   

  这里特别说明一下在《Code Complete(代码大全) 第二版》中我们把 routine 译为“子程序”的理由。(主要观点来自裘宗燕老师,部分文字取自裘老师写给我们的邮件。)

  这本书先讲整体的设计(第 5 章);而后讲 class(第 6 章),是下降一个层次;而后讲 routine(第 7 章)。在第 7 章“High-Quality Routines”的一开始,作者自设一问:

What is a “routine”? A routine is an individual method or procedure invocable for a single purpose. Examples include a function in C++, a method in Java,a function or sub procedure in Microsoft Visual Basic. For some uses, macros in C andC++ can also be thought of as routines. You can apply many of the techniques for creatinga high-quality routine to these variants.

非正式译文:何谓“routine”?routine 是具有单一目的、能单独调用的一段代码(method 或 procedure)。例如,C++ 中的函数 (function),Java 中的 method,Microsoft Visual Basic 中的 function 或 sub。某些情况下,C/C++ 中的宏 (macro) 也可以认为是 routine。

  可见作者口中的 routine 就是一段有名称、能调用的代码,可能有参数、也可能没有参数,可能有返回值、也可能没有返回值,实际指就是 subroutine(subroutine 是比较正式的说法)。如果这是一本针对 C/C++ 语言的书,那么作者多半会用“function/函数”这个词。而 CC2e 是一本针对一般软件开发的书,并非针对特定语言,作者一直非常谨慎地回避 function 这个词(一般只作“功能”讲)。如果细分起来,function 是有返回值的 routine,procedure(过程)是没有返回值的 routine,method 是作为 class 的成员的 routine,甚至 C++ 中重载了的运算符也算是 routine。

  书中也有讲函数的地方,讲的就是函数的返回值问题(函数的特殊问题),也有讲 method 的地方,讲的就是 method 的特殊问题。因此 routine 的译文应该能涵盖函数、过程、method 。这样想来,恐怕很难找到比“子程序”更好的词了。

chroutine:C ++协程框架 立即下载

相关推荐

routinefor.cpp

Dev C++下简单的应用实例,利用FOR循环计算任意实数的阶乘 作为较基础的C++代码编写可供参考

routine/subroutine与function/子函数的区别与联系

摘要:子程序(Subroutine)与函数(Function)的差异源于编程语言传统,Fortran严格区分有无返回值的子程序/函数,而C语言统一用function表示。用户子程序和工具子程序是按功能分类的术语,前者指定制化业务扩展(如仿真软件插件),后者指通用工具封装(如数学计算)。这种分类与语言无关,但在Fortran主导的工程仿真领域更常见,因其"主程序+用户扩展"模式突出;C语言场景广泛,类似功能可能称为回调函数或工具函数,本质逻辑相同。(149字)

luohaitao的专栏 567

概率论与数理统计第二版 高清版 茆诗松 华师大

概率统计与数理统计第二版 内容非常详细,适合统计系学生使用

DELPHI学习---过程和函数

Procedures and functions(过程和函数) Procedures and functions: Overview(概述) 过程和函数统称为例程(routine),它们是自包含的语句块,能在程序的不同地方调用。函数在在执行时 能返回一个值,而过程不能。 因为函数调用能返回值,它们能被用在赋值和运算表达式中。比如, I := SomeFunction(X); 调用Som...

weixin_30709929的博客 273

【C++】C++异常语法、使用、规范、异常安全及异常的优缺点

实际中我们可以可以去继承exception类实现自己的异常类。但是实际中很多公司像上面一样自己定义一套异常继承体系。因为C++标准库设计的不够好用。如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。C++ 提供了一系列标准的异常,定义在 中,我们可以在程序中使用这些标准的异常。异常是一种处理错误的方式,

weixin_51692487的博客 1525

Amos实战:如何用Bootstrap法检验中介效应?附完整操作步骤

本文详细介绍了如何使用Amos软件通过Bootstrap法检验中介效应,包括模型设定、参数配置和结果解读。Bootstrap方法因其不依赖正态分布假设、统计功效高等优势,成为中介效应分析的首选方法。文章提供了完整的操作步骤和实用建议,帮助研究者准确评估变量间的中介作用机制。

zz67890的博客 1440

CC2e 术语:一些基本确定的术语

      《Code Complete(代码大全) 第二版》中译本使用下面这些术语我想不会引起多大争议(完全不会有争议的术语,如“variable/变量、program/程序、class/类”等等就不列出了):agile development - 敏捷(软件)开发architecture - 架构assertion - 断言building block - 构造块business logic

陈硕的Blog 5496

MOOS-ivp实战:从零搭建水下机器人通信系统(Ubuntu 22.04版)

本文详细介绍了在Ubuntu 22.04系统上从零开始搭建MOOS-ivp水下机器人通信系统的完整实战流程。内容涵盖环境准备、核心安装、MOOSDB通信模型解析、自定义应用节点开发、以及调试监控工具链的使用,旨在帮助开发者快速掌握这一分布式机器人系统框架,构建稳定可靠的水下机器人通信与控制系统。

snow3的博客 635

C/C++怎么理解void *(*start_routine) (void *)

你定义了一个函数指针。名字叫 start_routine 。 这个函数的返回值是void *(一个指针) 参数是void *(一个指针) 一般这种写法最好用typedef void* (start_routine)(void) 然后用start_routine当作一种类型来使用。 如: start_routine pfoo; 调用的时候: *pfoo(p); (void *)的理解 unsigned char err; unsigned char f; unsigned char a(unsig.

jacklin_01的博客 2874

全球半导体设备氧化钇熔射服务行业规模预测:预计未来六年CAGR为7.8%

本文将对“半导体设备氧化钇熔射服务”行业进行深度分析,探讨市场趋势的演变、核心竞争者的战略布局、供应链结构的内外特点、研发创新的最新进展、法规政策环境的适应性调整以及投资机会与风险评估。这一稳健的增长趋势表明半导体设备氧化钇熔射服务在电子行业中的重要性逐渐增强。由于全球对于高效、高精度和可靠的电子解决方案的需求增加,对能够提供这些功能的半导体设备氧化钇熔射服务的需求日益增长。由于半导体设备氧化钇熔射服务主要为就地服务型,其“配送”主要依赖于专业团队和技术设备的及时调配,强调服务的时效性和高质量。

CC1239777的博客 570

K8s入门教程(一)

本教程提供了Kubernetes(K8s)的入门指南,涵盖了从基础概念到实战操作的全面内容。首先介绍了Kubernetes的定义和核心功能,如自动化部署、弹性伸缩、自我修复等。接着,详细讲解了如何在macOS上安装Minikube和kubectl工具,以及如何使用这些工具创建和管理Pod、Deployment和Service等核心资源。教程还包括了实战案例,如部署Nginx应用,并介绍了高级特性如滚动更新和自动伸缩。最后,提供了常见问题的解决方案,帮助用户快速上手和解决实际使用中的问题。

2401_82505179的博客 1689
上一篇: CC2e 术语:一些基本确定的术语
下一篇: CC2e 术语:construction 译成“构建”还是“构筑”?
陈硕
博客等级 码龄26年 1万+粉丝 144原创
评论 22
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值