| Checklist: |
|---|
| duplicate code |
| meaningful names |
| action in the right controller |
| variable scope - if used only within a method make it local |
| view - check for duplicate and see if partial can be used |
| is helper used as intended |
| how to avoid unnecessary routes |
| Meaningful Names: | ||
|---|---|---|
| elapsedTimeInDays, fileAgeInDays | Use Intention Revealing Names | |
| accountList | Avoid Disinformation | |
| moneyAmount->money, customerInfo->customer | Make Meaningfule Distinctions | |
| genymdhms->generationTimeStamp | Use Pronounciable Names | |
| e | Use Searchable Names | |
| PhoneNumber phoneString=x,m_dsc | Avoid Encodings | |
| r means url | Avoid Mental Mapping | |
| Manager,Processor->Customer, WikiPage | Class Names | |
| postPayment, deletePage | Method Names | |
| HoldhandGranada -> deleteItems | Don't be Cute | |
| fetch,retrieve,get->get | Pick One Work Per Concept | |
| add | Don't Pun | |
| AccountVisitor | Use Solution Domain Names | |
| Use Problem Domain Name | ||
| firstName->addrFirstName | Add Meaningful Context | |
| Method Rename: | ||
|---|---|---|
| logged_in? | check_logged_in | |
| sending_confirmation | receive_mail | |
| index in project controller | list_of_projects | |
| iteration_board, project_iteration, iteration, view_iteration | tools | |
| arrange_tasks, order_tasks, sort_tasks, prioritize_tasks | task_order | |
| show_minimun_done_task, minimize_done_tasks, hide_old_completed_task, show_latest_done_tasks | done_task_min | |
| move_to_product_backlog, move_from_iteration_to_product_backlog | moving_userstory_from_iteration_to_pb | |
| show, show_product_backlog | list_pb_userstories | |
| Code Duplication: | ||
|---|---|---|
| move this code to a private method and use filter for this method | list_of_projects, assign_people_and_team | |
| put this code in a single method and reuse it | change_status_to_inprocess, change_status_to_done, change_status_to_todo | |
| Improve Performance: | ||
|---|---|---|
| move those methods to their own controller | remove some methods from scrumboard controller | |
| TasksHelper, ApplicationHelper,UserstoriesHelper | remove unnecessary helpers | |
| instead of this hard coding use constants in model level | task status is hard coded | |
| instead of this use local variables | instance variables | |
| Avoid Disinformation: | ||
|---|---|---|
| use this in view itself | avoid unnecessary variables and relationship mapping Eg:@iteration=@project.iterations | |
| source: |
|---|
| http://blog.objectmentor.com/articles/2008/04/08/clean-code-whew |