---
title: Better Code
tags: common, coding, examples, WIP
---
# Better Coding
##### Unnecessary If Statements
# 1 Returning a Boolean value
**Bad Code**
```
public function valid_feedback_id(Request $request) {
$Response = DB::table('feedbacks')->where('employee_id', $request['employee_id'])->where('id', $request['feedback_id'])->get();
if(count($Response) > 0) {
return true;
}
else {
return false;
}
}
```
**Better Code**
```
public function valid_feedback_id(Request $request) {
$Response = DB::table('feedbacks')->where('employee_id', $request['employee_id'])->where('id', $request['feedback_id'])->get();
return count($Response) > 0;
}
```
**Explanation**
The code above uses if statement just to return a specific boolean value
Unnecessary Else statement
**Bad**
```
if ($status != Password::PASSWORD_RESET) {
throw ValidationException::withMessages([
'status' => __($status),
]);
} else {
return __($status);
}
```
**Better**
```
if ($status != Password::PASSWORD_RESET) throw ValidationException::withMessages([ 'status' => __($status), ]);
return __($status);
```
**Explanation**
Unnecessary assignment of variable
**Bad**
```
protected function createToken($user)
{
$token = NULL;
if (is_null($user->password_updated_at)) {
$token = \Illuminate\Support\Facades\Password::broker()->createToken($user);
}
return $token;
}
```
**Better**
```
protected function createToken($user)
{
if (is_null($user->password_updated_at)) return \Illuminate\Support\Facades\Password::broker()->createToken($user);
}
```
###### Using Literal Values or Magic Number
**Bad**
```
public function getRequestStatusTextAttribute(){
if($this->request_status === '0'){
return '依頼中';
}
return '完了';
}
```
**Better**
```
public function getRequestStatusTextAttribute(){
if(isset(RequestStatus::TEXTS[$this->request_status])) return RequestStatus::TEXTS[$this->request_status];
return RequestStatus::NON_REQUEST_TEXT;
}
```
**Explanation**
##### Nested if inside else statements
**Bad**
```
public function dashboard() {
$page = ['title' => 'トップメニュー'];
$user = Auth::user();
$action = 'dashboard';
$company = $user->company;
session()->forget('order');
if ($user->isAdmin || $user->isSemiAdmin) {
return view('dashboard',compact('page','user', 'company'));
} else {
if ($user->first_login == null) {
return redirect('terms-of-service');
} else {
$hasExamResultsfromExaminers = false;
if ($user->isExamManager) {
$manager = ExamManager::where('id', $user->id)->first();
foreach($manager->examiners as $examiner) {
if ($examiner->hasExamResults) {
$hasExamResultsfromExaminers = true;
}
}
}
return view('dashboard',compact('page','user', 'company', 'hasExamResultsfromExaminers'));
}
}
}
```
**Better**
```
public function dashboard() {
$page = ['title' => 'トップメニュー'];
$user = Auth::user();
$action = 'dashboard';
$company = $user->company;
session()->forget('order');
if ($user->isAdmin || $user->isSemiAdmin) { return view('dashboard',compact('page','user', 'company')); }
if ($user->first_login == null) { return redirect('terms-of-service'); }
$hasExamResultsfromExaminers = false;
if ($user->isExamManager) {
$manager = ExamManager::where('id', $user->id)->first();
foreach($manager->examiners as $examiner) {
if ($examiner->hasExamResults) { $hasExamResultsfromExaminers = true; }
}
}
return view('dashboard',compact('page','user', 'company', 'hasExamResultsfromExaminers'));
}
```