Code Reading chap6

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+  

+                    Chapter6: Tackling Large Projects

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

116.  You can examine a project's organization by browsing its source code tree. the hierarchical directory

        structure containing the project's source code. The source   code tree often reflects the project's

         architectural and software process structure.     (p. 181)

        你可以通过浏览一个项目的源代码数来检测该项目的组织。层级化的目录结构包含了项目的源代码。该源代码树常

       反映了项目的架构以及软件处理结构。 

---------------------------------------------------

117.  Often the source code tree of an application mirrors the application's deployment structure. (p. 181)  

        一个应用的源代码树常常反应了该应用的部署结构。

---------------------------------------------------

118. Do not let huge source code collections daunt you; typically these are better  organized than smaller,

       ad hoc efforts. (p. 186)

      不要让那些巨大数量的源代码把你给吓住了;典型的情况下这些拥有巨大数量的源代码比数量较小的以及自由分布贡献出来的源代码

      组织程度更佳。

---------------------------------------------------

119. When you work on a large project for the first time, spend some time acquainting yourself with its

       directory tree structure. (p. 186)

      当你第一次工作在一个大型项目上时,那么花些时间来让自己熟悉该项目的目录树结构吧。

---------------------------------------------------

120.  A project's "source code" encompasses a lot more than the computer language instructions compiled

       to obtain an executable program; a project's source code tree typically also includes specifications,

       end-user and developer documentation, test scripts, multimedia resources, build tools, examples,

       localization files, revision history, installation procedures, and licensing information. (p. 189)

      一个项目的所谓”源代码“较之编译后的用于执行该程序的计算机语言指令范围要广的多;一个项目的源代码树典型的

     还包括规格说明书, 终端用户以及开发者文档,测试脚本, 多媒体资源, 构建工具, 样例, 本地化文件, 版本信息, 

     按装过程, 许可证信息。

---------------------------------------------------

121.  The build process of large projects is typically specified declaratively by means of dependencies.

         Dependencies are translated into concrete build actions by tools such as make and its derivatives. (p. 191)

        大型项目的构建处理典型的会是一种通过依赖方式的陈述式声明。 依赖会被转化为实实在在的构建行为,通过类似make

        以及其派生物这 样的工具(译注:类似ANT编译工具)。

---------------------------------------------------

122.  In large projects makefiles are often dynamically generated after a configuration step; you will

        need to perform the project-specific configuration before examining the makefile. (p. 192)

        在大型项目中,makefiles通常都是在配置步骤滞后动态的生成的;你需要在检验makefile之前去执行项目特定的配置。

---------------------------------------------------

123.  To inspect the steps of a large build process, you can dry-run make by using the -n switch. (p. 196)

        为了检查一个大型构建处理的步骤,你可以用所谓”干运行“方式去跑make,使用 -n开关。

---------------------------------------------------

124.  A revision control system provides a way to obtain an up—to-date version of the source code

        from its repository.(P.204)

        一个版本控制系统提供了从其仓库中获取源代码的最新版本之方式。

---------------------------------------------------

125.  Use commands that display executable file revision identification keywords to match an executable

        with its source code.(P.207)

        使用命令行来展示可执行文件的版本识别关键字,一匹配有源代码的可执行代码。

---------------------------------------------------

126.  Use bug-tracking code numbers that appear in revision logs to locate an issue  description in the

        bug—tracking database.(p.209)

       使用出现于版本日志中的故障追踪代码号来定位故障追踪数据库中的议题。

---------------------------------------------------

127.  Use the revision control system version repository to identify how particular  changes were

        implemented.(p.209)

        使用版本控制系统的版本仓库来识别何种特定的变更被实现进了仓库。

---------------------------------------------------

128.  Many different aspects of the software development process,including configuration,build

        process management,code generation,testin,and documentation use custom—built tools.(P.210)

       软件开发过程的许多不同方面,包括配置, 构建过程管理, 代码生成, 测试,以及文档使用了客户构建工具。

---------------------------------------------------

129.  Use a program’s debugging output to help you understand crucial parts of a  program’s control

         flow and data elements.(P.216)

          使用程序的调试输出来帮助你理解数据元素以及程序控制流以及关键部分。

---------------------------------------------------

130.  The places where a tracing statement is located typically mark important parts  of

         an algorithm function.(P.216)

         追踪状态定位到的地点,典型的会对一个算法函数的重要部分进行标记。

---------------------------------------------------

131.  Assertions are used to verify steps in the operation of an algorithm,parameters received by

         a function,a program’s flow of control,properties of the underlying hardware,and the results

         of test cases.(P.218)

         断言用于验证一个算法的操作步骤的情形中, 一个函数收到的参数的情形中, 一个程序的控制流情形中,

         所基于的硬件的属性情形中, 以及用于测试用例之结果的情形中

---------------------------------------------------

132.  Use algorithm verification assertions to confirm your understanding of an algorithm’s operation

         or as a point to start your reasoning.(P.218)

         使用算法验证断言来确认你对一个算法操作的了解,或者作为你推断的一个起始点。

---------------------------------------------------

133.  Often function argument and result assertions document a function’s preconditions and

        postconditions.(p.219)

        通常,函数参数以及结果断言会对一个函数先决条件以及后置条件文档化。

---------------------------------------------------

134. Use assertions that test complete functions as specification statements for each given function.(p.220)

        就像“对每个给定函数的状态进行说明一样”去使用测试完整函数的断言 。

---------------------------------------------------

135.  Test cases Can be a partial substitutesubstitutesubstitutes for functional specifications.(P.223)

        测试用例可以成为功能说明的部分代替。

---------------------------------------------------

136.  Use test case input data to dry—run source code sequences.(P.223)

        使用测试用例输入数据去顺序的干运行源代码。

++++++++++++++++++++++end of chap6+++++++++++++++++++++++++++++++

原文地址:https://www.cnblogs.com/parsifal/p/2091945.html