1

疑似コードでユーザーをログインさせる関数があるとしましょう

def login():
    # find user in db
    # check if user exists
    # check password
    # login user

各アクションは独自の機能にする必要がありますか? それとも、すべてのコードをそこにとどめるべきですか?

編集:私は通常、すべてのコードを1つの関数に入れるだけなので、これを尋ねますが、私の友人は、実行する必要があるすべての関数を複数の関数に入れ、書き留めた関数の空白を埋めます

元。彼はこう書くだろう:

def login():
    findUser()
    checkUser()
    checkPass()
    userLoggedin()

次に、それらの関数を作成して埋めます。

4

2 に答える 2

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 開発者アカウントが必要です。

于 2013-03-27T22:27:56.337 に答える
1

はい、Visual Studio の観点から言えば、それらは別々のプロジェクトに分割する必要があります。

ユーザーの検索 - データ リポジトリ

ユーザーが存在することを確認します - おそらくモデルまたはビジネスレイヤーです

パスワード、モデルまたはビジネス層を確認してください

ログイン - ビジネス層

ここでの目的は、コードを論理的な問題にグループ化することです。

于 2013-03-27T22:29:08.083 に答える