重構手法34:Decompose Conditional (分解條件運算式)

 你有一個複雜的條件陳述式。從if、then、else三個段落中分別提煉出獨立函數。動機:程式之中,複雜的條件邏輯是最常導致複雜度上升的地點之一。你必須編寫代碼來檢查不同的條件分支、根據不同的分支做不同的事,然後,你很快就會得到一個相當長的函數。大型函數自身就會使代碼的可讀性下降,而條件邏輯則會使代碼更難閱讀。在帶有複雜條件邏輯的函數中,代碼(包括檢查條件分支的代碼和真正實現功能的代碼)會告訴你發生的事,當常常讓你弄不清為什麼會發生這樣的事,這就說明代碼的可讀性的確大大降低了。      

Oxite分析之結構淺析

change set:46759download:http://oxite.codeplex.com/SourceControl/ListDownloadableCommits.aspx約定: 1、為了消除歧義,整個Oxite項目在這裡統稱為Oxite解決方案;而Oxite解決方案下有一個Oxite項目。 2、Module稱之為模組 一、從模組的角度淺析Oxite解決方案結構 Oxite解決方案從某種角度上可以看成是一系列模組(Module)的集合。

js點擊元素以外的地方隱藏 元素的方法

js實現 點擊元素以外的地方隱藏

【翻譯】(15)Standalone Toolchain

-----------------英文文檔見android-ndk-r5b的documentation.html屬於Android Native Development Kit (NDK)的一部分見http://developer.android.com/sdk/ndk/(需要代理)翻譯僅個人見解-----------------USING THE ANDROID TOOLCHAIN AS A STANDALONE COMPILER 使用Android工具鏈作為獨立編譯器        ====

Qt中如何使用樣式表QPalette以及相關注意事項)

設定一個widget的背景圖片/顏色,我們可以使用調色盤QPalette,而設定最重要的就是setBrush()畫刷。剛google搜尋了一下,發現用setBrush基本都只用了它的一種方法,但實際上其有兩種用法。 QPalette  palette;       用法一:palette.setBrush(QPalette::Base,

HTTP訊息頭網頁緩衝控制以及header常用指令)

網頁的緩衝是由HTTP訊息頭中的“Cache-control”來控制的,常見的取值有private、no-cache、max-age、must-revalidate等,預設為private。其作用根據不同的重新瀏覽方式分為以下幾種情況:(1) 開啟新視窗值為private、no-cache、must-revalidate,那麼開啟新視窗訪問時都會重新訪問伺服器。而如果指定了max-age值,那麼在此值內的時間裡就不會重新訪問伺服器,例如:Cache-control:

P05: 二維費用的背包問題

P05: 二維費用的背包問題問題二維費用的背包問題是指:對於每件物品,具有兩種不同的費用;選擇這件物品必須同時付出這兩種代價;對於每種代價都有 一個可付出的最大值(背包容量)。問怎樣選擇物品可以得到最大的價值。設這兩種代價分別為代價1和代價2,第i件物品所需的兩種代價分別為a[i]和

top命令的使用

轉自:http://linux.chinaitlab.com/command/764778.html top命令是Linux下常用的效能分析工具,能夠即時顯示系統中各個進程的資源佔用狀況,類似於Windows的工作管理員。下面詳細介紹它的使用方法。    top - 01:06:48 up  1:22,  1 user,  load average: 0.06, 0.60, 0.48Tasks:  29 total,   1 running,  28 sleeping,   0 stopped,

10個新鮮出爐的JQuery外掛程式(ITEye)

本文將為你介紹10個新鮮出爐的JQuery外掛程式,在你的項目中使用它們吧! 1.bxSlider 該外掛程式是內容滑塊和映像投影片,可支援橫向、縱向和漸層過渡切換。支援導航控制和自訂。(線上示範) 2.Awkward Showcase 使用此外掛程式,可以在任何內容之間自由切換(內容滑塊)。允許在投影片中植入任何內容:文本、圖片、視頻、提示等,同時允許使用縮圖等。(線上示範) 3.Waypoints 當滾動至目標元素時,可輕鬆執行相對應的必要操作。(線上示範) 4.jsMovie

archLinux 安裝拼音IME

我的archlinux下安裝了 xorg和 xfce4 ,IME卻怎麼也沒安裝上.安裝了 fxitx 小企鵝拼音IME 但是始終無法調用出來這個拼音IME.還安裝了其他的,可能配置起來都很難吧.最後還是用了iBus,提示很友好,而且可以調用出來了.安裝iBus:yaourt -S ibus ibus-pinyin開啟ibus進行ibus設定,添加中文IME.然後按ctrl+shift就可以調用拼音IME了.不過中文字型很難看.安裝下一些字型就可以了.以後運行 ibus-daemon &

視頻與映像RGB/YUV格式詳解)

視頻與映像RGB/YUV格式詳解(轉)電腦彩色顯示器顯示色彩的原理與彩色電視機一樣,都是採用R(Red)G(Green)B(Blue)相加混色的原理:通過發射出三種不同強度的電子束,使螢幕內側覆蓋的紅綠藍磷光材料發光而產生色彩這種色彩的表示方法稱為RGB色彩空間表示(它也是多媒體電腦技術中用得最多的一種色彩空間表示方法)根據三基色原理,任意一種色光F都可以用不同分量的RGB三色相加混合而成F = r [ R ] + g [ G ] + b [ B ]其中,rgb分別為三基色參與混合的係數當三基色

QT中文顯示亂碼解決

問題如下:1.中文顯示亂碼2.資料庫連接不上問題一:但是如果我們的軟體只運行在中文系統下,最簡單的方法:在main函數中調用QTextCodec::setCodecForTr( QTextCodec::codecForName("GBK") );就可以了。記得這句要在所有使用tr的語句前調用。以後在需要使用中文的地方使用tr("中文字元");就可以了。但事情真的這麼簡單嗎?當我將一個測試程式拷貝到一台沒裝過Qt的電腦上時,tr中的字都顯示不了了。奇怪的是用Creater

ip_vs實現分析(9)

本文檔的Copyleft歸yfydz所有,使用GPL發布,可以自由拷貝,轉載,轉載時請保持文檔的完整性,嚴禁用於任何商業用途。msn: yfydz_no1@hotmail.com來源:http://yfydz.cublog.cn11. IPVS預估器IPVS預估器用的估算在一個短暫時間間隔內的串連率,可在使用者空間開一個daemon定時讀取預估器的值以實現較長時間的預估。預估演算法為:取最後8秒鐘內,每兩秒取一個採樣點進行平滑處理:    avgrate = avgrate*(1-W) +

Hadoop入門(二):ZooKeeper單機安裝

 ZooKeeper安裝1下載解壓cd /usr/local/srcwget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gztar zxvf zookeeper-3.4.5.tar.gz2配置cd zookeeper-3.4.5cp conf/zoo_sample.cfg conf/zoo.cfg export

[解決]通常每個通訊端地址只允許使用一次

我們在做socket的開發的時候,經常會遇到這個錯誤:通常每個通訊端地址

談談WS_EX_CLIENTEDGE視窗風格

關於該風格要注意幾點的是:WS_EX_CLIENTEDGE視窗風格並不是對所有視窗都有效,只有視窗有客戶區的時候才有效,這樣當它用在比如button,combox,tab無客戶區的控制項時,它是無效的。通過對話方塊模版建立的控制項ListCtrl,如果你指定了WS_BORDER,這時WS_BORDER將被拿掉,而WS_EX_CLIENTEDGE會被設定上。但是如果你通過create手動建立則不會出現這種情況。當WS_EX_CLIENTEDGE設定上,在控制項邊緣和客戶區之間將有2個像素大小的空隙

1的數目-不同於《編程之美》新的方法

 題目:給定一個十進位正整數N,寫下從1開始到N的所有整數,數一下其中出現所有1的個數。 例如N=12,寫下1,2,3,4,。。。,12,1的個數為5。問題一寫出函數f(N),表示對於給定的N,計算1到N之間的”1″的個數。 解法一 最直接的解法:從1遍曆到N,將其每一個數中含有”1″的個數加起來。 此方法複雜度太高,為O(nlogn)。每個數計算此數的每一個位的數。 解法二 此方法是《編程之美》給的解法。 計算每一位的出現1的個數,如2345,分別計算千位、百位、十位、個位上可能出現1的個數。

crontab 格式及例題詳解

格式 : * * * * * command 分 時 日 月 周 命令 第1列表示分鐘1~59 每分鐘用*或者 */1表示 第2列表示小時1~23(0表示0點) 第3列表示日期1~31 第4列表示月份1~12 第5列標識號星期0~6(0表示星期天) 第6列要啟動並執行命令 crontab檔案的一些例子: 30 21 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每晚的21:30重啟apache。 45 4 1,10,22 * *

職場人傷害了“上司” 怎樣彌補

       

ORA-600錯誤[kkoipt:invalid join method]

 ORA-600錯誤[kkoipt:invalid join method]今天客戶的11.2.0.2資料庫碰到了ORA-600這個錯誤。詳細錯誤資訊如下:Fri Sep 16 15:23:52 2011Errors in file /u01/diag/rdbms/ora1/ora1/trace/ora1_ora_20382140.trc (incident=169704):ORA-00600: 內部錯誤碼,參數: [kkoipt:invalid join method], [1], [0],

總頁數: 61357 1 .... 4311 4312 4313 4314 4315 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.