2020年3月23日月曜日

開発環境

s51517765さんのブログ、プログラミング素人のはてなブログの記事、ifのネストが深くなってしまうのifの入れ子について、1行の長さのコーディング規約を守りつつ見やすいかもしれないコードを書いたり、early continueのコードのミスについて修正してみた。

まずコードのミスについて。

コード

for tweet in api.search(q=keyword, count=200):  # 検索
    ...
    if not is_japanese(txt):
        continue
        # この箇所のインデントが間違っていて(?)実行されることがないコード
        # print(txt) 
    # 修正
    print(txt)

ということで修正完了。

ネストについて、andでif文を一つにしてるところをちょっと書き換えれば、1行の長さのコーディング規約を守りつつ読みやすくなるかも。

コード

if (tweet.user.screen_name not in NG_ScrName
    and not has_NGWord_in(txt)
    and tweet.retweet_count >= 30
    and tweet.favorite_count >= 30
        and is_japanese(txt)):
    print(txt)

修正といっても、括弧と改行を加えただけだけど、だいぶ読みやすいかも。(括弧じゃなくても改行の前部分にバックスラッシュ「\」を加えるのでも良い。)

(⚠️読みやすくなるのは、このコードのifのネストの場合だけで一般的には当てはまらない可能性があるかも。)

0 コメント:

コメントを投稿