软件编程入门指南(一)
以下是一篇,旨在帮助软件公司日语翻译,熟悉软件开发业务流程、提高对编程语言认知的系列专题文章。希望从以上两点入手,帮助翻译们提高自身的业务能力。
对翻译而言,编程语言的学习无需过于深入,不用细致的掌握各种语法、编程规范,对其有一个宏观的理解就足矣。有人把程序员比作人与机器之间的翻译官,一方面与人交流获取必要的功能需求,另一方面与机器交流,把这些需求转换给机器去实现。因此,日语翻译作为客户与程序员之间的沟通桥梁,应着重学习产品开发的基本流程。
会说日语的人有很多,但是能胜任软件日语翻译职位的人却并没有那么多。因为软件开发拥有其专业性。如果不能更多的去了解这个专业背后的多重知识,针对部门所研发的产品掌握其业务流程。未来一定会被淘汰。这里引用一段话:“笔者面试过很多日语翻译,当问及什么是软件翻译的核心能力时,60%以上的回答是沟通能力。沟通能力确实很重要,但绝不是软件翻译的核心能力。如果一直以沟通能力为核心能力,那么他只是一个需求的转化者,充其量也就是个翻译专员的水平。
所以说,一名真正优秀的软件翻译,应该是立足在懂业务的基础上的,应该是半个软件开发领域的专家。从普通用户的角度而言,产品对其来说就是一个黑匣子,开发人员在完成一系列的功能开发之后,用最简单的方式把上层接口提供给用户去使用。就像一个遥控器一样。用户按音量键就会调节音量,按调频键就会换台。而我们不同,我们应该深入到这个黑匣子中,去理解其各个细节。
拿大家熟悉的打印机举个例子,打印机分为硬件和软件两个部分。硬件部分中,打印机的各个部件你都能清楚的说出来吗?每个部件对应什么功能同样能够理解吗?在软件部分中,它所使用的驱动软件是什么样的架构呢?架构中又包含哪些接口,一一对应哪些功能呢?那些底层的功能函数,都已经清楚的了解了吗?类似与这些问题,等等等等。
当然,你也应该知道什么是抽象类,什么是接口。能够返还数据的数据结构有哪些?理解Array,List,Map这些词语可能在翻译的过程中会提供很大的帮助。
下面开始讲解第一课。软件的开发流程。
软件的开发不是一蹴而就的。它涉及到不断的更迭变化,开发人员自己的研发与Debug更新的版本,客户更改需求后更改的版本。在团队协作的过程中,我们通常会使用一个版本控制工具(SVN或者Git)去帮助我们合作编写代码。版本控制工具的作用是,它把代码存储在服务器上,拥有权限的程序员可以从服务器中获取到这个程序去开发,在实现某个功能后,把它提交到服务器中。如果程序中包含了A、B、C三个文件。A程序员更改A,B程序更改B,那么通过版本控制器的使用,A和B程序员就不会影响到彼此。这样大大提高了软件的开发效率。
在软件的开发过程中,一般由一个特别有经验的PM与几个程序员协同开发。PM会通过理解客户的式样书,设计软件的架构。定义各个功能模块、编写需要调用的基础功能类。然后,在定义过的接口后,把这些不同功能的接口交给其他程序员去完成。在开发的过程中,程序员理解式样书中细节的功能,如一个文件的结构,编写提交新的代码。在一个大型的老项目中,也会有专门的团队去进行维护。如不断的去修改Bug,更新功能提高软件质量。把部署在旧的运行环境下的程序,移植到新的环境中。等等。
软件开发的过程中,还包括了一系列文档的书写。如需求说明文档,功能设计文档,详细设计文档,用户说明文档等。实际的工作过程中,再去选择性的了解它们。对于翻译而言,与客户沟通式样的过程中。最最重要的就要首先了解,这个项目中有哪些模块功能。因为每个一个模块功能都可能会被定义成一个类。了解类,函数,参数,返回值这些概念,再结合模块的功能作用,翻译就会游刃有余。
软件会不断进行版本的更迭。在某个更新到一定版本的软件中,功能趋于完善,经过缜密的测试之后定义为1.0版本。会把这一版向客户提交、或沟通后继续修改,完成2.0,3.0等更高的版本。
下面附上两张流程图,完成第一篇的讲解。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
