Giter Club home page Giter Club logo

hw_f's People

Contributors

jamieleegit avatar kaij1941 avatar laihanco avatar manyu1225 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

kaij1941

hw_f's Issues

06/02 Code Review

主要審核分支 main

cc. @kaij1941

  • README 可以多描述一下該專案以及如何還原專案、環境變數,助教一打開宛如通靈一般猜出環境變數。
    通靈學院
  • 儲存庫名稱可以調整一下「HW_F」有點莫名其妙。
  • swagger-output.json 可以不用加入到版本控制內,因為本身是編譯產生的。
  • 命名上請盡可能明確的命名,例如:「require("./utils/conn.js");」非常令人茫然,結果打開是 MongoDB 連線,除此之外這也比較適合在 connections 資料夾。
  • 沒有使用的程式碼記得刪除,如:service/uploadImage.js 的 4~6 行。
  • 程式碼就是最好的註解,因此有些地方可以思考一下是否不用再寫註解了,如:service/appError.js 的 6 行。
  • swagger 註解可以嘗試統一一下風格,有些多縮排,有些正常風格,如:routes/users.js 第 9 行。
  • routes 的 handleErrorAsync 不用再傳入一個 callback 有點多此一舉脫褲子放屁,只需要這樣寫就可以了,也不用傳入 [async](https://israynotarray.com/javascript/20211128/2950137358/) 才對哦。
handleErrorAsync(UsersController.signin)
  • 不需要的 router 記得刪除,如 routes/index.js
  • 前面有使用 handleErrorAsync 後面卻沒有?如:routes/forgetPassWord.js
  • routes 寫法可以統一一下,有的使用 use 統一,有的又是逐行。
  • var 可以改用 ES6 語法哦。
  • 由於是前後端分離專案,因此正常來講不會有 public。
  • 在使用 Model 時 Mongoose 會自己轉換成複數的,然後首字會自己變成小寫,因此通常會是單數且首字大寫,如:User.js 的 45 行。
  • tempTokenForPasswordCheck.js 是什麼奇怪的東西 XD?看起來是想要紀錄登入的狀態,那如果是的話,在前後端分離狀況下,後端通常是不太會去紀錄使用者的登入狀態,如果是擔心 Token 被盜用問題的話反而要思考的是到底是使用者操作不剩導致 Token 外流,還是開發者本身問題導致 Token 外流,這個道理就跟去網咖不登出就去上廁所概念一樣。
  • models/Comment 少給副檔名了
  • 回饋訊息的中英文要空格且統一,有的是「Mail已被註冊!」另一個則是「email 不存在」,回饋上訊息盡可能統一。
  • 註解的部分若確定不需要的話,請記得刪除,如 contorllers/users.js 168 行。
  • 不要那麼辛苦用加號運算子組合字串,可以用[樣板字面值](https://israynotarray.com/javascript/20211105/3492623136/)組合,如 controllers/lineAPI.js 32 行。
  • 第三方的 API Url 也可以包入 Env。
  • 空格有四格也有兩格,請統一。
  • 可以試著使用解構
const { email } = req.body;
  • 可以試著使用縮寫形式撰寫
const userData =await user.findOne(
            {
                    email
            }   
        )
  • 發送密碼的前端頁面 Url 可以放入 env 哦,許多地方都是可以包入 env 的,可以再思考一下哩。
  • 可以試著加入 ESLint 統一撰寫風格哦

比較需要注意的地方

  • 整體程式碼風格沒有統一,因此這個要多加注意一下。
  • 成員似乎對於 ES6 語法不是那麼熟悉,因此建議組長等其他人可以試著協助 review Code 這樣子才能夠知道哪邊還可以再優化。

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.