-
我觉得第一种**在设计模式方面会更清晰,可重用性也不错,也许这个问题看起来更小,所以你觉得第二种方式是直观和精简的;
但是,在大型项目中,您会考虑什么? 比如我上一份工作,光是我做的一个模块就有几十万行**,如果不标准化,会是什么样子?
1.比如说,为了实现你的比较函数,大家编写程序并使用它,那么为什么不做一个函数,到时候大家直接调用呢? 在我的项目中,连链表和树都是封装的,使用时可以调用,这样就不用每次使用都写,整体上是很大的简化;
2.如果每次都自己写,每个程序员可能都有不同的思维方式,可能由穷人级别编写的程序可能会引入bug,这意味着每一次开发或维护都会增加风险,而牛X的程序员可能也有写出精华的好方法,但普通人不容易理解, 所以维护的时候是很大的,尤其是修改别人的程序的时候(一般在2000行左右),如果结构不清晰,是不是看起来特别费时间?
-
你所谓的简单,只是写作的简单,在实际编程中主要有两点考虑:
时间复杂度,空间复杂性。
这就是为什么我们主要关心应用程序占用多少临时存储空间以及花费多少时间的原因。
从这两个方面来看,这两种算法的复杂度处于同一数量级,因此复杂度相同。
但是,从程序的可复用性、可移植性和可读性的角度来看,第一个显然更好,比如这里要找2个大数,如果是3个数字,如果是找小数,就把子模块中的**改写一下就行了。
因此,在编写程序时,**的复杂和简单只是一个方面,应该从整体上考虑。
-
从任何角度来看,您给出的两个例子都是第二个例子。 在实际使用中,也使用了第二个示例。 (初级程序员编制的**除外)。 只要使用它,完全没有问题。
一般来说,编程应该避免晦涩难懂的**,但第二个例子不包括在内,“?”。运算符是标准C语言的基础,不存在任何合格的C程序员都无法理解的问题。 看第一个例子,有一种罗里啰嗦的感觉,不够简洁。
就我个人而言,我认为编写第一个示例的程序员是不专业的。
至于你说的:“书中推荐第一种方法”,大概第一个例子是为了教学目的,我从来没有见过一本书建议不要使用第二种方法。
-
您如何看待编程的目的?
当然,编程是关于解决现实世界的问题。
编程只是软件工程的一小部分,约占 20% 的时间。 为什么?
这是因为现实中的问题非常复杂,如果要将它们翻译成计算机以便能够理解它们,那么复杂的事情就必须简化。
使用函数是降低复杂性的一种方法。 这就是书籍推荐使用函数的原因。
当然,如果你刚开始学习编程,你可能不明白以下内容)降低复杂性。
避免重复**段落。
限制更改的影响。
隐式顺序。 改进了性能。
实施集中控制。
隐式数据结构。
隐式指针操作。
隐式全局变量。
段重用。
计划开发一个软件系列。
提高某个段落的可读性。
提高便携性。
分离复杂的操作。
使用独立的非标准语言功能。
简化复杂的布尔测试。
祝你好运。 呵呵。
-
a>b? a:b;表达。
下次比较 c 和 d 时,必须重新编写。
比较 e、f,你会再写一遍。
比较数组元素并再次写入 n 次。
以函数的形式,可以重复调用。
如果只是 a、b 的匹配,那就没关系了。
-
就我个人而言,我认为。 对于大多数普通的初学者程序员。
第一种方法更好。
不过有很多说法。 但这很容易理解。
一步一步地,很清楚。
而第二种,容易让人迷惑。
只有打下深厚的基础,才能简化程序。
-
简单地说。 这两种方法在少于 100 行的程序中很方便。
但是当程序达到几万行时,第二种方法就不容易阅读和修改了。
-
如果你使用一个函数,一个比较通用,比如第二种写变量的方式叫c和d,你要重新改一下,第二点是可以复用,不需要每次都写同样的语句,减少**的数量,你可以用宏来代替。
-
第一种“解释”语法比较详细,适合初学者掌握更多的知识点,而第二种方法显然是在实际操作中提炼出来的简单实用的方法,这个技能一般需要个人在不断的编程实践中总结出来。
-
仅就这两个程序而言,哪一个更简单并不重要。
推荐第一种选择的人主要希望程序员养成更好的功能模块化习惯。
-
通过调用函数的方法,更符合编写程序的规范。
-
这意味着当 b > a 时,b 的值被赋值给 a,a 不再是 a 的值,而是 b 的值,如果是 b >,那么 a 仍然是 a 的值,也就是说,a 的值是 a 和 b 变量中较大的值。
同理,当c>a时,c的值被赋值给a,a不再是a的值,而是c的值,如果a>c那么a仍然是a的值,也就是说,a的值是a和c变量的值。
即先取出a和b中的最大值,然后将最大值与c进行比较,再取出它们之间的最大值(最大值为变量a)。
100是一个特定的数字吗?
如果它是 0 100,你可以生成 16 个随机数,然后你可以判断它。 >>>More