创建使用您构建的其他功能的函数是不错的做法?
我想知道这样做是否合适,因为它会降低代码的可移植性。
由于
答案 0 :(得分:13)
非常好的练习。
它被称为代码重用,这就是编程的全部内容。
至于你关于它使“代码不那么便携”的论点,只有在汇编这样的非常低级的语言中才有意义,即使这样,它也会使更多可移植,因为你可以隔离平台特定代码到函数中。
良好的代码由小而易懂的功能组成。有人说超过30行的功能太长了。
答案 1 :(得分:4)
是。这是编程的基础。它决不会使代码变得不那么便携,而是相反。
答案 2 :(得分:2)
在程序和面向对象的代码中 - 是的,虽然在某些时候你会想要回顾你已经得到的东西&查看库/ etc是否应该专用于您需要的功能。
在SQL中,没有。 SQL是基于集合的,抽象的函数/视图/存储过程是脆弱的,并且往往不能像使用尽可能少的函数/ etc重写一样好。
答案 3 :(得分:1)
除非你只有一个大功能,这是你的整个程序(并且你只能用意大利面条代码做复杂的事情),你将被迫调用其他功能,所以我不明白这一点你的问题。
实际上,如果您将功能封装在一个函数中并在整个程序中使用它,您将:
所以请调用你从其他函数编写的函数,它是如何工作的,它很棒。
答案 4 :(得分:1)
最好不要编写很长的函数。这通常需要使用其他自编函数。
答案 5 :(得分:1)
你刚才描述了编程。 熟悉:
重用“东西”是任何工程学科的主要原则之一,而不仅仅是计算机科学。
答案 6 :(得分:0)
我会说是的。
如果您的功能可分为2个逻辑部分,可能是可重用的,请执行此操作。
所有大型API都使用内部组件,甚至公共功能通常也会使用其他公共功能。
例如:
ShowPage(url) {
request = new Request(url)
response = request.Send()
page = response.GetHTML()
browser.Load(page)
}
可以成为:
RetrievePage(url) {
request = new Request(url)
response = request.Send()
return response.GetHTML()
}
ShowPage(url) {
page = Retrieve(url)
browser.Load(page)
}
现在RetrieveUrl
可以重复使用,例如通过搜索网站某种内容的功能。