函数_如何在软件开发中合理的设计函数来解决实际问题
2017-07-29 21:34
543 查看
在我们日常学习中,我发现有些功能在设计函数的时候,我们可以设计一个、两个甚至多个函数来实现同一个功能,这当然是我们编写程序的时候任意选择。但是通过网上查找视频资料进行学习,我发现,高质量的代码,都遵循了以下的原则:【函数功能尽量独立且单一,提高程序可重复性】。
以下举例两个程序(第二个程序基于第一个程序)举例来直观感受:
(1)第一个程序
--------------------------------------------------------------------------------------------------------------------------------
//判断一个数字是否是素数(利用main函数和一个自定义函数实现)
#include<stdio.h>
bool IsPrime(int val)
{
int i;
for(i=2; i<val; i++)
{
if(val%i == 0)
{
break;
}
}
if(val == i)
return true;
else
return false;
}
int main(void)
{
int val;
int i;
scanf("%d",&val);
if(IsPrime(val))
printf("是素数!\n");
else
printf("不是素数!\n");
return 0;
}
--------------------------------------------------------------------------------------------------------------------------------
(2)第二个程序
--------------------------------------------------------------------------------------------------------------------------------
//求1到某个数字之间所有的素数输出(利用main函数和两个自定义函数实现)
#include<stdio.h>
bool IsPrime(int m)
{
int i;
for(i=2; i<m; i++)
{
if(m%i == 0)
{
break;
}
}
if(m == i)
return true;
else
return false;
}
<
9214
br />
void TraverseVal(int n) //把所有的素数在显示器上输出
{
int i;
for(i=2; i<=n; i++)
{
//判断i是否是素数,是输出,不是不输出
if(IsPrime(i))
printf("%d\n",i);
}
}
int main(void)
{
int val;
int i;
scanf("%d",&val);
TraverseVal(val);
return 0;
}
--------------------------------------------------------------------------------------------------------------------------------
所以,通过两个程序,可以发现,程序函数设计的时候功能相对独立会使得程序的可重复性更强,会使得代码更让人理解,我感觉如果要提高这种水平,单凭自己一己之力确实是比较容易走弯路,所以博主认为还是需要多模仿别人写的代码,模仿多了,也就能感悟到如何去用了。
以下举例两个程序(第二个程序基于第一个程序)举例来直观感受:
(1)第一个程序
--------------------------------------------------------------------------------------------------------------------------------
//判断一个数字是否是素数(利用main函数和一个自定义函数实现)
#include<stdio.h>
bool IsPrime(int val)
{
int i;
for(i=2; i<val; i++)
{
if(val%i == 0)
{
break;
}
}
if(val == i)
return true;
else
return false;
}
int main(void)
{
int val;
int i;
scanf("%d",&val);
if(IsPrime(val))
printf("是素数!\n");
else
printf("不是素数!\n");
return 0;
}
--------------------------------------------------------------------------------------------------------------------------------
(2)第二个程序
--------------------------------------------------------------------------------------------------------------------------------
//求1到某个数字之间所有的素数输出(利用main函数和两个自定义函数实现)
#include<stdio.h>
bool IsPrime(int m)
{
int i;
for(i=2; i<m; i++)
{
if(m%i == 0)
{
break;
}
}
if(m == i)
return true;
else
return false;
}
<
9214
br />
void TraverseVal(int n) //把所有的素数在显示器上输出
{
int i;
for(i=2; i<=n; i++)
{
//判断i是否是素数,是输出,不是不输出
if(IsPrime(i))
printf("%d\n",i);
}
}
int main(void)
{
int val;
int i;
scanf("%d",&val);
TraverseVal(val);
return 0;
}
--------------------------------------------------------------------------------------------------------------------------------
所以,通过两个程序,可以发现,程序函数设计的时候功能相对独立会使得程序的可重复性更强,会使得代码更让人理解,我感觉如果要提高这种水平,单凭自己一己之力确实是比较容易走弯路,所以博主认为还是需要多模仿别人写的代码,模仿多了,也就能感悟到如何去用了。
相关文章推荐
- 如何在软件开发过程中合理的设计函数来解决实际问题
- 如何比较Keras, TensorLayer, TFLearn ?——如果只是想玩玩深度学习,想快速上手 -- Keras 如果工作中需要解决内部问题,想快速见效果 -- TFLearn 或者 Tensorlayer 如果正式发布的产品和业务,自己设计网络模型,需要持续开发和维护 -- Tensorlayer
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- 软件开发是为了解决实际问题
- 如何解决“APP软件开发该不该做”的问题?
- 在开发环境中常遇到更改存储过程、函数、视图等对象,解决SQL Server2005里sp_helptext输出格式错行问题
- 近期的一些学习--当一个程序开发到了中期,突然出现性能问题,如何解决
- 如何解决J2ME开发中遇到提示 ALERT: java/lang/ClassFormatError: Bad version information.的问题?
- 如何解决一些项目开发和维护中的问题――Hibernate实战篇
- Sun开发多任务虚拟机 解决Java软件运行问题
- 如何解决调试WEB页面时自动运行TerraExplorer软件的问题
- 如何解决双显示器显示B/S架构软件的问题
- 关键字: 设计模式 [Spring]如何在spring框架中解决多数据源的问题
- 如何解决移动软件中网络状态变化的问题
- 关于OpenQuant试用软件的期限的延长问题...如何解决 OpenQuant 过期的问题
- 第一次参与一个软件开发工程,解决了3个问题,心情不错!
- WPF开发中遇到的问题及解决系列(三):如何改变ListView 中各行的背景色(背景色产生交替效果)
- 在开发环境中常遇到更改存储过程、函数、视图等对象,解决SQL Server2005里sp_helptext输出格式错行问题
- 使用SourceSafe管理软件开发可能遇到的问题及解决方法
- 软件开发是人类通过逻辑解决问题的过程