GithubHelp home page GithubHelp logo

ideas_stock's People

Watchers

 avatar

Forkers

iwasaki-d

ideas_stock's Issues

ぱっと見、成立条件がわかりにくい

否定条件を組み合わせると、人はコードを理解しにくくなる。
条件が1つだけならまだしも、組み合わせるとさらにわかりにくくなる。

できる限り、否定を使わない方がスッキリ。

<% if @memos.present? && @memos.count > 0 %>
<% if @memos.try(:count) > 0 %>

でもいい

あえて代入する必要はないかも

https://github.com/kakimoso/ideas_stock/blob/160619906edd096726a3cb2fcddb1ff3bdb29989/app/controllers/memos_controller.rb#L12

    user = current_user
    @memo = user.books.first.memos.build(memo_params)

userを宣言したけど利用していないので

@memo = current_user.books.first.memos.build(memo_params)

でいいけど、敢えて代入するなら
first_book = current_user.books.first
@memo = first_book.memos.build(memo_params)

やりたい事単位で区切って、変数に代入した方がわかりやすいかな。

コントローラーはできる限り、画面描画に専念させるとベター

https://github.com/kakimoso/ideas_stock/blob/160619906edd096726a3cb2fcddb1ff3bdb29989/app/controllers/memos_controller.rb#L37

この手のチェック処理はモデルに書くと良い。

コントローラーは表示する画面をコントロールに専念させ、
業務ロジックはモデルに書く。

SkinnyController, FatModelがRailsの作法として基本形。
用語を検索してみよう。
そうすると色々諸説が入り乱れて混乱すると思うけど、まず基本を抑えよう。

必要なgem?

gemfileに記載するgemは本当に利用しているgemのみに書くようにしよう。
全てのgemの動きを理解する必要な無いけど、”良く分からないけどコピペ”はNG。
大まかで良いのでgemの要不要は把握しておこう。
ここは大事なところなので意識してみて。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.