说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

进来瞧瞧,开动你的右半脑!

编辑:说三道四文库 发布时间:2018-02-21 05:16
HTML文档下载 WORD文档下载 PDF文档下载
请大家指出我译的不正确的和你有不同意见翻译的!指出越多分就越多!
Rule 42 A #else and a #endif are followed on the same line by a comment based on the test used in the #if statement. For example:
         #else与#endif 有相同的注解在测试#if语句。如:

Rule 43 Use as much as possible Build-time error report using #error
使用可能很多的建造- 时间误差报表使用 #ERROR

Rule 44 There should be no "magic" number. Any special values should be declared as constants.Identifier names should be meaningful.
        不应该有"magic" 数目。 任何的特别数值应该被宣布成常数。识别符名是非常作用的。

Rule 47 To avoid operator precedence in complex macro, all occurrences of parameters should have parentheses around them.
在宏运算优先,在参数前插入()

 unsigned types are used only when necessary. Instructions, for classic processors, are signed, and then the use of unsigned variables increases the generated code complexity. It leads to a waste of memory and time.
      无符合类型只有在需要的才使用,处理器指令都是有符号,随着无符合变量代码复杂将导致处理器情能下降
Rule 51 As type sizes depend on the target processor, do not make any assumption about the size of the types, instead use sizeof() operator.
     类型的大小依靠目标处理器,
Rule 53 If you want to work with a processor word (32 bits for ST20), use the C type int. This can be used for example for loop index. Processor works more efficiently with its word size variables.
       如果你在32位ST20处理器工作,使用标准C定义整型,........处理器对处理双字节变量有很高的效益
Rule 61 Variables, which can be changed by something else than the program (for instance Devices or DMA) must be declared volatile.
         如果要使一个变量要被程序(外部设备或DMA)必需声明volatile
Rule 62 Use the keyword const as soon as the content of a variable must be kept over a function call. For instance, in the following example, both the structure and the pointer are protected against illicit write operation in the SVAUD_LevelSet() function. void SVAUD_LevelSet( const AudioInfo_t const * ) ;
      使用关键字CONST 定义变量可以保持变量不受外部函数改变,如例:结构和指针都有写保护操作SVAUD_LevelSet( const AudioInfo_t const * ) ;

Rule 55 "BOOL" type is very often used in our software, but C does not define it. Then, this type has been defined as being an int (see Appendix A). Two values can be assigned to a BOOL variable (TRUE and FALSE) which have been declared in the same manner that the C does.(FALSE is 0 and TRUE is every other value). Note that it is more efficient to test with FALSE.
    在我们软件中经常使用但是不同与标准C,然而这BOOL型的定义参考附录A,BOOL型变量有两个值(TRUE和FALSE)这里定义与C有相同的风格,在标准C里(FALSE值是0,TRUE值是不为0的任何值)在编程的是为了提高效率测试FALSE值

Rec. 73 If a function returns an execution status, the caller has to check it and act upon.
       如果这个函数返回一个状态,调用这函数对返回值进行判断
For computer time and stack size considerations, avoid recursion. Recursion can always be replaced by a loop statement.
       在计算处理时间和堆栈大小时避免用递归,用loop循环替换递归

Rec. 73 If a function returns an execution status, the caller has to check it and act upon.
       如果这个函数返回一个状态,调用这函数对返回值进行判断

Rec. 75 Never return a local automatic variable. When the function returns, the automatic variable goes out of scope, and the caller retrieve a pointer to an object that does not exist. The following example will compile and may appear to work, but in fact it does not.
     函数不能返回一个局部本地动态变量,超出这范围动态变量失效,

Rec. 80 Always attempt to use the most efficient and readable control structure when writing loop. In the following example, the while structure is more readable than the for structure.
  使循环语句高的效益和易读,下面结构

我的英文没有你强!
8错8错
up
up.
在计算处理时间和堆栈大小时避免用递归,用loop循环替换递归
考虑到计算处理的时间和堆栈大小这样的原因,避免使用递归,...
其它还可以,看不过来了
乱。。。乱
Rec. 80 Always attempt to use the most efficient and readable control structure when writing loop. In the following example, the while structure is more readable than the for structure.
  使循环语句高的效益和易读,下面结构

应该译成:
  总是尝试将循环结构写得更具效率和容易阅读。下面的例子中,使用while比for更具易读性。
Rule 47 To avoid operator precedence in complex macro, all occurrences of parameters should have parentheses around them.

在复杂的宏中为了避免操作符的优先级问题,应对当前参数使用()

在宏运算优先,在参数前插入():看起来好象精简了不少,就是意思都变味了,换个第二人都不明白
For computer time and stack size considerations, avoid recursion. Recursion can always be replaced by a loop statement.
       在计算处理时间和堆栈大小时避免用递归,用loop循环替换递归

出于时间和堆栈尺寸的考虑,应避免使用递归,而用循环语句作为替代
兄弟千万不要写书、译书,自娱就得了,   免得人家看了累
恕我直言,如果你是准备写书或发表文章,我看免了,省得别人说你制造垃圾
cast a glance over
gz
怎么看,这些中文好像都不是翻译出来的,而是制造出来的。兄弟如果要出书,我看还是免了,如果是别人拿给你的,他是在害你呀。
我这水平那能出书,只是迫于无赖而已!
希望大家能多多指点!也可以休闲下,译那么一句两句而已!
翻得太水了阿你,痛苦啊,哈哈,赶快别翻了
呵呵,楼主的东东绝对不是人译出来的,而是机器译出来的吧。。。
急!别在TMD!
是不是你写的翻译程序?

10.0版给兄弟我发一个
前面的我有些已经理解只有下面几句理解了一半,希望那位能????????
我也好尽快接贴!!!!!!!!!!!!!!!!!!
//////////////////////////////////////////////////////////////////////////////////
**********************************************************************************
//////////////////////////////////////////////////////////////////////////////////
规则 50 unsigned types are used only when necessary. Instructions, for classic processors, are signed, and then the use of unsigned variables increases the generated code complexity. It leads to a waste of memory and time.
      无符合类型只有在需要的才使用,处理器指令都是有符号,随着无符合变量代码复杂将导致处理器性能下降


规则 53 If you want to work with a processor word (32 bits for ST20), use the C type int. This can be used for example for loop index. Processor works more efficiently with its word size variables.
       如果你在32位ST20处理器工作,使用标准C定义整型,


规则 85 Do not use "!" operator in arithmetic expressions. It is both difficult to read and semantically incorrect. ( "!" should be restricted to logical expressions). For arithmetic expressions, test for inequality with zero (it is faster than testing with an other value). In the same way, it is better to test for FALSE than for TRUE.
             在算术表达试避免使用"!"操作符,对阅读和语义正确是非常难的("!"用在逻辑表达式里),在算术表达式判断一个值不为零效益非常高的。相同的方法在判断为FALSE效益高于为TURE。

注解. 90 A good practice is to set a pointer to NULL, after the memory has been freed. It avoids program to re-use deallocate memory, or double de-allocation. Note that the NULL assignment is not necessary when the pointer is to go out of scope.
一个好的编程习惯是对指针初始为NULL,过后指针释放。用利于程序重新利用存储
注解. 90 A good practice is to set a pointer to NULL, after the memory has been freed. It avoids program to re-use deallocate memory, or double de-allocation. Note that the NULL assignment is not necessary when the pointer is to go out of scope.

一个好的编程习惯是--在内存被释放后置指针为NULL。这样可以避免程序使用释放的内存,或重复申请内存(指向的内存未释放,又在此指针上申请内存,导致以前的内存丢失)。注:超出活动范围的无指向指针没有必要设置为NULL
规则 50 unsigned types are used only when necessary. Instructions, for classic processors, are signed, and then the use of unsigned variables increases the generated code complexity. It leads to a waste of memory and time.
      无符合类型只有在需要的才使用。著名的处理器的指令都是有符号的,使用无符号变量越多,产生的代码就会越复杂,这将将导致内存和时间上的浪费(程序性能下降)
规则 53  规则 85  最后两句啊!
以下两句应该都是与处理器的工作方式或编译器有关吧

规则 53 If you want to work with a processor word (32 bits for ST20), use the C type int. This can be used for example for loop index. Processor works more efficiently with its word size variables.
       如果你的程序工作在32位ST20处理器下,使用标准C定义整型。C定义的整型可以用来做循环变量。由于变量的字节尺寸的缘故,这样,处理器会有更高的效率。


规则 85 Do not use "!" operator in arithmetic expressions. It is both difficult to read and semantically incorrect. ( "!" should be restricted to logical expressions). For arithmetic expressions, test for inequality with zero (it is faster than testing with an other value). In the same way, it is better to test for FALSE than for TRUE.
             在算术表达式中避免使用"!"操作符。使用“!”会对阅读和语义的正确理解带来困难。(在逻辑表达式里,"!"也应该有节制的使用)。当然,在算术表达式中,可以判断一个值是否为零(这比判断是否为其他值快多了)。同样地,判断为FALSE效益高于为TURE。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘