Skip to content

takehanKosuke/bad_cord_test_of_rails

Repository files navigation

クソコードレビュー大会専用コード!

目的

  • このチームのエンジニアリングの能力を確かめる
  • 他の人がどんなことに気をつけてコーディングを行なっているのかを共有する。
  • 他人が書いたコードを見る練習をする。
  • みんなでスキルアップできたらいいな!

前提

  • ruby 2.5.0
  • rails 5.2.2

テーブル構造は以下の通りです!
テーブル構造

要件

No 機能
1 ユーザーログイン機能
2 記事投稿・編集・削除機能
3 PV数測定機能
  • ユーザーが記事を投稿して、それを一覧で見ることができる
  • 記事は作者自身のみが編集・削除できる
  • adminユーザーはマイページでユーザーの閲覧削除を行うことができる
  • ユーザーが詳細ページに飛んで来た回数をPV数として保持する
  • ログインしていないユーザーは記事を見ることもできない
  • 論理削除は不要
  • デザインに関しては完全に無視

今回見たいところ

  • インデントなどの基本的なコーディングの仕方(フォーマット)に気を配れるか?
  • railsで最もよく使うログインようのgemのdeviseの基本メソッドについて理解しているか?
  • オブジェクト指向プログラミングのベストプラクティスを意識しているか?(最小知識の原則、オープンクローズドの法則 etc)
  • MCVフレームワークとしてのベストプラクティスを意識できているか?
  • より高速な処理を意識してコーディングを行うことができるか?
  • よりDRY(Don’t Repeat Yourself)なコーディングを行うこと
  • 最低限のセキュリティーの知見があるか?(というかここはみんなで勉強してこ!俺もまだまだ初心者笑)

railsで初期に入っているgem以外で追加したもの

日本語化のためのgem

  • gem 'i18n'

enumのバリューを日本語化するgem

  • gem 'enum_help'

ログイン機能を作成するgem

  • gem 'devise'

railsのデバッグ用のgem

  • gem 'pry-rails'

er図を自動で出力するgem

  • gem 'rails-erd'

事前準備

今回の使用環境は以下のようになっています

  • ruby 2.5.0
  • rails 5.2.2
  1. まずgithubのリポジトリの右上にあるフォークボタンを押してリポジトリをフォークしてください

  2. その後フォークしたリポジトリでクローンを行なってください
    クローンがよく分からない人はここの記事をみてください https://qiita.com/YumaInaura/items/acff806290c8953d3185

./setup.sh

上記を実行し

http://localhost:3000/

にアクセスしてログイン画面がでれば準備完了です

テスト用のuser名とパスワードは

~アドミンユーザー~
メアド:[email protected]  
パスワード:111111

~ノーマルユーザー~
メアド:[email protected]  
パスワード:111111

です!

ルール

制限時間は60分(みんなの終わり方次第で調整します)

  • 基本的には何を見てもらっても構わないですし、実際に動かして見てバグを発見するのもオッケーです!(ただし、僕のgitのアカウントから答えを見るのは禁止ですwもちろんコミットログから見ることもダメですw)
  • 指定したファイルのコードを修正する形で変更を行ってください。
  • コードに対してコメントを書くという形での回答も許可はしますが、コードから修正してくれると個人的に嬉しいです
  • 新しくファイルやディレクトリを生成しても構いません
  • 仕様について質問があれば適宜質問してください!
  • 指摘箇所は全20箇所で満点は20点です。
  • どんなに難しい問題を解いてもどんなに簡単な問題を解いたとしても全て1点です。
  • 1点の中でも回答の精度によって1点の重みが変わってくることがあります。(これは問題のレベルとの相関はなく、あくまで同一の得点者が現れた場合のみに使用される判断材料のごく一部であるという認識でいてください。)
  • 僕が気がつけなかったレビューをした場合はボーナスとして1点とします

修正するファイルは

No ファイル名
1 controllers/articles_controller.rb
2 controllers/users_controller.rb
3 models/article.rb
4 models/user.rb
5 views/articles 以下の全てのファイル
6 views/users/show
7 db/migrate/20190220133546_init.rb
8 db/seeds.rb

です!
もしこれ以外のファイルでも修正できるところがあれば修正してもらっても構いません

提出方法

コードの提出方法は、プルリクを作成する形で提出してください

以上!
ではみなさん頑張ってください!

About

railsをはじめて半年くらいたったひとを対象としたrailsのテスト

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published