if 里面嵌套for,能优化一下代码吗?
gooog
楼主 (北美华人网)
#定义if的条件变量shuffle shuffle = true # shuffle = false
if(shuffle) { 口口g = 100; 口口m = 2; 口口blocks; # 这段代码输出是b,输入是x 口口for(int i=0; i< m; i++){ 口口口口a = f1(b) + g; 口口} } else { 口口g= 200; 口口m = 3; 口口blocks; # 这段代码输出是b,输入是x,与上面那个无论是输入还是输出的数值都是一模一样的。 口口for(int i=0; i< m; i++){ 口口口口a = f2(b) + g; 口口} }
请问这段代码还能优化吗?
因为这个blocks非常长,大概1万行。而这个是完全一模一样的。大家怎么处理这段代码? 1) 把blocks变成一个函数。这个方法好吗? 2) 有啥办法让blocks代码只写一次,然后把if嵌入到for里面去? 3) 其他方法
类似上面这段代码,在编程的时候,有大量行的blocks是一模一样的。大家有不写成函数的时候吗?比如:输入参数太多了。输出参数多且类型也多。比如1000个输入参数,100个不同维数的矩阵输出。 不写成函数,但是重复代码,有什么利?有什么不利? 会影响程序的运行速度吗?(好像还会比写成函数运算快一些。对吧。) 会占用更多的内存吗?
if(shuffle) { 口口g = 100; 口口m = 2; 口口blocks; # 这段代码输出是b,输入是x 口口for(int i=0; i< m; i++){ 口口口口a = f1(b) + g; 口口} } else { 口口g= 200; 口口m = 3; 口口blocks; # 这段代码输出是b,输入是x,与上面那个无论是输入还是输出的数值都是一模一样的。 口口for(int i=0; i< m; i++){ 口口口口a = f2(b) + g; 口口} }
请问这段代码还能优化吗?
因为这个blocks非常长,大概1万行。而这个是完全一模一样的。大家怎么处理这段代码? 1) 把blocks变成一个函数。这个方法好吗? 2) 有啥办法让blocks代码只写一次,然后把if嵌入到for里面去? 3) 其他方法
类似上面这段代码,在编程的时候,有大量行的blocks是一模一样的。大家有不写成函数的时候吗?比如:输入参数太多了。输出参数多且类型也多。比如1000个输入参数,100个不同维数的矩阵输出。 不写成函数,但是重复代码,有什么利?有什么不利? 会影响程序的运行速度吗?(好像还会比写成函数运算快一些。对吧。) 会占用更多的内存吗?