看下不同的代码书写方式

代码非常简单,就是根据传入字符的不同,返回向量的最大或最小值而已:

复制代码
 1 function [out] = myminvec(vec, c)
 2 %myminvec returns the minimum value in a vector
 3 %Format: myminvec(vector,c)
 4 
 5 out = vec(1);
 6 if c == 'm'
 7     for i = 2:length(vec)
 8         if vec(i) < out
 9             out = vec(i);
10         end
11     end
12 %end
13 elseif c == 'M'
14     for i = 2:length(vec)
15         if vec(i) > out
16             out = vec(i);
17         end
18     end
19 end
20 end
复制代码

为了方便就做成封装了一个函数,这样当然没有问题,但是,仔细看就发现,逻辑完全一致,重复的语句也太多了,是可忍孰不可忍,改写成如下:

复制代码
 1 function [out] = myminvecW(vec, c)
 2 %myminvec returns the minimum value in a vector
 3 %Format: myminvec(vector,c)
 4 
 5 out = vec(1);
 6 for i = 2:length(vec)
 7     if c == 'm'
 8         vec(i) < out
 9     elseif c == 'M'
10         vec(i) > out
11     end
12     out = vec(i);
13 end
14 end
复制代码

也许就是重构的趣味所在吧

posted @   叕叒双又  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-08-24 用好C语言的中库,系统错误的处理
2021-08-24 C语言中的宏
2017-08-24 vim常用技巧
2017-08-24 vimtips阅读记录
2017-08-24 vim格式化代码
2017-08-24 vim状态栏的扩充
点击右上角即可分享
微信分享提示