我的重構第二步
2.簡化函數的調用
1>函數改名
函數名稱一定要揭示函數的用途
beautiful代碼的第一步良好的名稱
public-->save保留-->deprecated
2>添加、移除參數
3>將查詢函數和修改函數分離。 返回值和副作用-->查詢和修改
並發操作synchronized 或者 private或者 protected
4>若幹函數做了類似工作,只是包含了不同的值-->帶參函數 數據可重復,邏輯不能重復
5>函數以表達式檢查參數值,根據參數值采取不同的行為-->已明確函數取代參數
6>參數列更穩定,提高代碼的可讀性-->保持對象完整性
7>縮減參數列表,以函數取代參數
8>數據泥團-->引入參數對象-->move
經典案例:起始結束範圍
9>移除設置函數
10>隱藏函數,降低函數的可見度
11>工廠函數替換為構造函數
12>封裝向下轉型
13>以異常取代錯誤碼
非受控異常,調用者拋出異常 受控異常,被調用者拋出異常
14>以測試取代異常,異常意料之外的錯誤行為
我的重構第二步
相關推薦
我的重構第二步
行為 不同 -- 改名 完整 數列 縮減 用途 函數的調用 2.簡化函數的調用1>函數改名函數名稱一定要揭示函數的用途beautiful代碼的第一步良好的名稱public-->save保留-->deprecated2>添加、移除參數3>將查詢函
我的重構第一步
表達 重要 else 價值 break 合並 獨立 執行 繼續 1.簡化條件表達式1>分解條件表達式,提煉單獨的函數. 例子if else then 2>合並條件表達式,條件表達式提煉成獨立函數 三元運算符 Extract Method3>合並重復
oracle第二步創建表空間、用戶、授權
toe 數據 表空間 nag gem 分享 reat 登錄 light Windows+r→鍵入sqlplus,輸入已安裝好的oracle數據庫超級管理員賬號密碼登錄。顯示: 成功。 創建表空間: 創建用戶並默認表空間: 授權該創建用戶對數據庫的操作: 代碼:
拖拽的效果 第一步 設置 可拖拽的屬性 draggable="true" 綁定drag 事件 第二步 設置 放置位置 觸發的事件 dragover 第三步 設置 放置之後 觸發的事件 dragover 下面請看代碼:
存儲 targe 觸發 get tex 一個 func ons *** (function(){ /*-------節點--------*/ var myimg = document.getElementById(‘myimg‘); var dropBox
Avalondock 第二步 創建文檔面板
val style man span .com idt 代碼 oot alt 上一篇已經介紹了如何創建一個停靠面板,本章主要介紹,文檔面板的定義。文檔面板和可停靠面板很相似 建立文檔面板LayoutDocumentPane LayoutDocumentPane:文檔窗格
[KF2][Mut&Gm Tutorial]Modding第二步:開始制作你的第一個簡易Mutator
是否 info one 重寫 nat game 運行 跟著 lis 在這之前請確保 [KF2][Mut&Gm Tutorial]Modding第一步:設置好KF2的UnrealScript編譯環境 如果你是一個電腦愛好者但是沒有編程基礎,請打開記事本或者npp跟著學
PHP導出excel文件,第二步先實現自寫二維數組加入模板excel文件後導出
should b- 數組 data 寫入 har oca def actor 今天主要研究數據加入EXCEL並導出的問題,先不從數據庫提取數據導出,自己先寫一個二維數組,然後遍歷二維數組寫入excel模板中導出,首先根據模板excel的內容書寫對應的二維數組
部署AlwaysOn第二步:配置AlwaysOn,創建可用性組
cal mic stand 端口號 影響 detection ner hab 選項 AlwaysOn是在SQL Server 2012中新引入的一種高可用技術,從名稱中可以看出,AlwaysOn的設計目標是保持數據庫系統永遠可用。AlwaysOn利用了Windows服務器故
學習 JSP:第二步 創建一個JSP Web Project
row 修改jsp 這樣的 package 啟動 ons nbsp dem post 接上文 學習 JSP:第一步Eclipse+Tomcat+jre(配置環境) 【創建新工程】(Dynamic Web Project) 1、選擇 "File-->New-->D
webpack+react+babel環境搭建第二步——靜態資源
webpack 擴展 dirname 項目管理 plugins rom webp ebp com 處理項目管理中的靜態資源(非需編譯的資源) 在src同級目錄創建文件夾public(文件名自定義) 使用到 copy-webpack-plugin 擴展
重構異步執行方法
web type chang mman select string pro sta 重構 public static class TeraDataHelper { //<add key="CommandTimeout" value="2000
linux驅動開發第二步 驅動模塊傳參(module_param函數使用)
開發 span mac grep god ring linux驅動 usr enter 在驅動的模塊中聲明一下你要傳遞的參數名稱,類型和權限 module_param(變量的名稱,類型,權限); 先上例子 #include <linux/init
我的第二次作業
第二次作業 https 人的 我們 clas 第一部分 per -o 教程 第一部分:我本次作業的成果 我自己個人的github地址是:https://github.com/yaminet1024 我們開發團隊小組的github地址是:<https://github.
Swift:我的第二個Demo(textField實現一個登入介面,沒有完成點選空白鍵盤)
檔名:AppDelegate.swift import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func
Python爬蟲實踐 -- 記錄我的第二隻爬蟲
1、爬蟲基本原理 我們爬取中國電影最受歡迎的影片《紅海行動》的相關資訊。其實,爬蟲獲取網頁資訊和人工獲取資訊,原理基本是一致的。 人工操作步驟: 1. 獲取電影資訊的頁面 2. 定位(找到)到評分資訊的位置 3. 複製、儲存我們想要的評分資料 爬蟲操作步驟:
第二步:新增sprite精靈
第一個為Player.png 第二個為Projectile.png 第三個為Target.png 準備好圖片資源,這3個圖是官方教程上邊的,叫Ninja,是個忍者 把這三張圖片都複製到專案資料夾下的Resources檔案裡邊 開啟vs2010專案 開啟Hel
我的第二篇博客 小組分工
成員 span spa 博客 nbsp ont 大綱 bsp 組成 本次可行性分析報告一共15個標題,具體分工如下: 1,由孟拓陳仔祥陳庚作出大綱,並完成5個標題。 2,汪力 郭澳林 肖宇負責4個標題。 3,肖宇 武清 劉校 胡聖陽完成6個標題 4,最後小組成員再進行審
ssm整合總結(二)--第二步之整合sping,sping mvc,bootstrap
說明:本文內容來自山矽谷,整合了任務5--任務8的內容http://www.gulixueyuan.com/my/course/50 本文是繼https://www.cnblogs.com/alpsong/p/10059698.html的基礎上來加入sping,spring mvc,bootstrap配置
cmake 第二步:新增庫(翻譯)
新增庫 現在我們將為我們的專案中新增一個庫。這個庫將包含我們自己的實現,用於計算數字平方根。然後,可執行檔案可使用此庫而不是編譯器提供的標準平方根函式。在本教程中,我們將把庫放入一個名為MathFunctions的子目錄。它將包含以下一行CMakeLists.txt檔案: add_library(Math
Linux Hadoop叢集搭建第二步:--------SSH免密登陸
內容和Linux 搭建 Hadoop叢集--Jdk配置 相關聯 三臺虛擬機器的操作 Linux SSH免密登陸: 參考網址:http://www.cnblogs.com/999-/p/6884861.html 第一步:在master主機上 vim /etc/ssh/sshd_config