假设我有一个用伪代码登录用户的功能
def login():
# find user in db
# check if user exists
# check password
# login user
每个动作应该是它自己的功能吗?或者所有代码都应该留在那里?
编辑:我问这个是因为我通常只将我的所有代码放在一个函数中,但我的一个朋友将他需要做的所有事情放在多个函数中,然后填写他写下的函数的空白
离。他会写这个:
def login():
findUser()
checkUser()
checkPass()
userLoggedin()
然后他会创建这些函数并将其填入。
答案 0 :(得分:6)
我的建议是:
将其分解为有意义的,可重复使用的功能。这对于代码库增长时的维护非常有用。
# find user in db => re-usable
# check if user exists => No. If you find it, it exists. So you don't need that.
If you don't find it, it does not. So both should be the same.
# check password => re-usable
# login user => re-usable
注意:WWDC 2012会话视频标题为:
基础知识+习惯:构建您的软件项目
你可以看。目标受众主要是MAC开发人员,但他们的许多建议也适用于其他面向对象的语言。您需要一个免费的MAC开发者帐户才能访问它。
答案 1 :(得分:1)
我会说YES,从Visual Studio的角度来看,它们应该分成单独的项目。
查找用户 - 数据存储库
检查用户是否存在 - 可能是模型或业务层
检查密码,型号或业务层
登录 - 业务层
这里的目标是将代码分组为逻辑问题。