代码本身都能完成目标,只是要对比两种算法的话,那就是那样。
设计思路其实都是一样的,就是实现上面的略微差别。
第二种并不是说不会错,而是个人认为的习惯上的好坏。
就打印三角这一题来说,报错了或者输出内容有问题了,不管是哪一种,要找出是哪里的问题都不算难。
但如果带入大型项目里就不一样了。
试想一下,一个积木模型中有一块积木,这块积木一旦抽出整体就会散架。
看上去这块积木担当了多部分的支撑点,好像很简洁。
实际上除非是程序员想要实现的就是这样的功能,否则如果是这一点出错了,在复杂项目里就会报出很多错误,调试起来就很困难。
程序讲究要功能模块化,往小了定义变量也是一样的。
这题中的j既管了打印格式,也管着数字内容。
就逻辑思路上来说,格式上
哪行有几个空格,与
第n个位置上的数字是多少完全没有任何关系
所以代码实现上尽量也不要扯到一起。
模块区分清晰也便于以后读代码省力。
关于安全性的话,假设是一个大型项目,其中一个参数不必要的涉及到了多个重要模块,这个参数要是被骇客非法修改了,那原本只是表层一个数值显示错误,结果因为牵涉太广说不定系统都要崩溃。

当然这些都是基于楼主问那两个代码的区别我才这样深挖了,

单看的话我自己都要觉得有点上纲上线了