垃圾代码评析——关于《C程序设计伴侣》6.3.7

【样本】

  ——陈良乔 ,《C程序设计伴侣》,香港服务器,人民邮电出版社,2012年10月,免备案空间,p116

【评析】

  作者认为“截取字符串”也是“常见的字符串处理任务”是武断的。C语言函数库中并不需要这样的函数,虚拟主机,因为这种操作并非是对字符串的一个基本操作。

【样本】

  ——陈良乔 ,《C程序设计伴侣》,人民邮电出版社,2012年10月,p116

【评析】

  这里对函数参数的分析虽然不能说有错,但却因为不够彻底而臃余。因为描述源字符串中的一段,应该只需要2个参数就足够了。例如,如果要说明”ABCDE”中的第2个字符开始3个字符,并不需要”ABCDE”,2和3这三个实参,”ABCDE”+(2-1) 和 3就足够了。

【样本】

  ——陈良乔 ,《C程序设计伴侣》,人民邮电出版社,2012年10月,p116

【评析】

  这个函数的参数很怪异。首先pos、n都是对source的进一步明确,但却被dest这个参数割裂开来;其次,习惯上C语言函数约定俗成的习惯是把dest放在前面,把描述source的参数放在后面。但这个函数却违背了业界共同遵守的公序良俗。

  函数内部的

for( int i=0 ; i < n ; ++i ){dest[i] = source[pos+i];}得意时应善待他人,因为你失意时会需要他们

垃圾代码评析——关于《C程序设计伴侣》6.3.7

相关文章:

你感兴趣的文章:

标签云: