改善代碼設計 —— 組織好你的資料(Composing Data)

文章目錄 解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:解釋:衝動前:衝動後:解釋:解釋:解釋:解釋:解釋:衝動前:衝動後:解釋:解釋:解釋:衝動前:衝動後: 1. Self Encapsulate Field (自封裝範圍)解釋:      大部分類 (class) 中都會有一些範圍 (field), 隨之還會有一些方法使用到了這些範圍. "如果調用這些範圍"這個問題分為兩種觀點: 1. 應該直接調用它們 2.

改善代碼設計 —— 最佳化物件之間的特性(Moving Features Between Objects)

文章目錄 解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:解釋:衝動前:衝動後:解釋:解釋:衝動前:衝動後:解釋: 1. Move Method (函數搬家)解釋:        如果 ClassA 的某個函數對 ClassB 有過多的依賴, 可以考慮將這個函數搬到 ClassB 中, 在 ClassA 的這個函數中直接調用 ClassB中這個函數的傳回值.        這樣做的好處是減少物件與物件之間的耦合度,

改善代碼設計 —— 最佳化函數的構成(Composing Methods)

文章目錄 解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋:衝動前:衝動後:解釋: 1. Extract Method (提煉函數)解釋:      如果發現一個函數的代碼很長, 很可能的一種情況是這個函數做了很多事情, 找找看函數中有沒有注釋, 往往注釋都是為瞭解釋下面一塊代碼做的什麼事情,

mvc4 ninject 注入HttpContext

using LinFx.Data;using LinFx.Index;using LinFx.Plugin.Caching;using LinFx.Plugin.Lucene.Services;using LinFx.Plugin.Search.Services;using LinFx.Security;using LinFx.Web;using YLSPay.Data;using YLSPay.Data.Service;[assembly:

小技巧: Win7還原XP的All Programs風格

        以前XP的開始菜單中有一個"程式"菜單, 裡面列出了電腦裡裝的所有程式的引導, 而Windows7系統開始菜單在這方面進行了修改, 很多XP習慣性使用者覺得點擊開始菜單裡的"All Programs"不習慣, 他們更喜歡以前的XP開始菜單的中"All Programs"的風格(此圖源自網路):        但這一點在Windows7中也可以做到, 效果如下:步驟        Step1: 開啟註冊表,

WinForm下螢幕截圖程式的實現

        程式的代碼參考了一個印度人的部落格還有周銀輝的部落格, 這兩位都是用WPF做的, 在的時候半透明遮罩都是用的WPF裡的Canvas, 但WinForm裡沒有這個控制項, 我想出了另一個辦法.        大致思路是按按鈕後, 開啟另一個Form, 這個Form沒有邊框, 初始就是最大化佔滿整個螢幕, 背景色為白色, 透明度為50%. 這樣就差不多是個半透明遮罩的效果了, 在工作列顯示表徵圖這個屬性也要設為false, 大概這樣大家就明白我的意思了. 而在截取螢幕部分映像時,

費馬小定理在公開金鑰加密中的應用及原理

        SICP第35頁提到費馬小定理在密碼學中有很重要的應用, 還沒有學過<密碼學>這門課, 但我又對加密解密有點興趣, 決定一探究竟. 費馬小定理維基百科裡是這麼定義的:假如a是一個整數,p是一個素數,那麼如果a不是p的倍數,這個定理也可以寫成        但我發現SICP第34頁對費馬小定理的描述是這樣的:如果n是一個素數, a是小於n的任意正整數, 那麼a的n次方與a模n同餘.        經過我舉了幾個小例子驗證之後, 覺得維基百科的解釋更合理一些,

.NET操作Excel表格的整理

        首先需要引用一個COM引用: Microsoft Excel 11.0 Object Library. 在程式碼中添加命名空間Microsoft.Office.Interop.Excel的引用. 然後就可以跟Excel進行操作了.基本的Excel對象Application: 每個Application對象表示一個Excel程式, 在程式中每建立一個該對象就啟動Excel程式的一個執行個體 Workbook: 每個Workbook對象表示一個Excel工作薄,

jquery 彈出框外掛程式(用了函數和對象兩種 寫法)

此外掛程式用了兩種 方法,一種是面向過程的寫法(也可以說是函數的寫法啦),一種 寫法是面向過程的。好。現在上代碼;javascript代碼://面向過程的寫法(function($){$.fn.showDialog = function(options){//彈出框外掛程式 var defaults = {  showDiv:".dialog",  bgAuto:"true",//是否有遮罩框  clickBtn:".btn",  closeBtn:".close",//關閉按鈕,

WPF動畫: 表單上下方向同時展開

  一般情況下我們寫一個動畫, 改變視窗的height屬性, 讓視窗隨著時間軸慢慢變大.Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> DoubleAnimation a = new DoubleAnimation(); a.From = 300; a.To = 600;

L298N 電機驅動模組

#include <reg52.h>#include "..\lib\delay.h"typedef unsigned char uchar;typedef unsigned int uint;#define S1 0x7e#define S2 0x7d#define S3 0x7b#define S4 0x77#define S5 0xbe#define S6 0xbduchar PLAY;sbit IN1 = P1^0;sbit IN2 = P1^1;sbit IN3 = P1^

用Socket做一個區域網路聊天工具

        程式設計成為簡單的服務端和用戶端之間的通訊, 但通過一些方法可以將這兩者進行統一起來, 讓服務端也成為用戶端, 讓用戶端也成為服務端, 使它們之間可以互相隨時不間斷的通訊. 考慮到實現最原始的服務端和用戶端之間的通訊所需要的步驟對於寫這樣的程式是很有協助的.        作為服務端, 要聲明一個Socket A並綁定(Bind)某一個IP+這個IP指定的通訊連接埠, 比如這個是127.0.0.1:9050, 然後開始監聽(Listen),

關於QQ一些功能的實現(二)

        上周已經寫了一篇關於QQ一些功能的實現, 感謝大家的支援. 但評論到70層的時候, 我再也坐不住了, 因為幾乎100%的同學表示自己的QQ號碼測試不成功. 近兩萬人看過上篇, 不能讓這麼多同學失望啊! 因此我又加了把勁, 現在只要你按照我的要求做, 就一定能成功. 晚上又抽空寫了個Demo給大家參考使用.        其實正如我在上篇的評論中所說的那樣, 我的QQ開通了一個服務的, 只是那幾天並沒有找到那個網址. 今天早了很久終於讓我找到了!!

“六度空間”的應用——找出兩個陌生人之間的關係(二)

終於"完工"      哎, 熬了好幾個夜, 掉了好多根頭髮, 終於接近完工, 如果真的要拿給別人用還需要修補很多東西. 先發幾張程式啟動並執行圖片吧:) 第一張是找出兩人關係, 我試了很多人, 幾乎都只需要通過一個人就能找到另一個人, 第二張是尋找XML檔案中某個人有哪些好友.儲存內容的改進      在寫上篇部落格的時候程式一直在運行(在儲存人和人之間的完整對應關係), 我估算還需要好幾個小時才能停下來, 所儲存的XML檔案也會大的驚人, 估算達到1GB以上,

關於本部落格的一些聲明

  本部落格是多數是自己平時在學習時的一些筆記或自己轉載的一些文章,初衷是自己簡單的一些總結,其中可能會有很多粗誤或不完備、不準確的地方(本部落格也會不週期性更新或修正錯誤),如果網友發現本部落格有什麼錯誤的地方,希望能告知本人,本人定會儘快更正……  “隨筆”這個概念感覺用在這裡不合適,不過這不是本人的意願,是部落格園本身的問題……  關於本部落格轉載的一些文章,定會註明出處,如有著作權問題,請聯絡本人,我定會馬上刪除,同時如果您轉載了本部落格的某些文章,希望同樣能表明出處…… 

SICP學習筆記(P3-P17)

        SICP丟在一旁一年有餘, 越來越覺得裡邊的內容值得讀讀, 是時候行動了.就從本篇開始吧, 加油, 堅持.        練習題答案: http://eli.thegreenplace.net/category/programming/lisp/sicp/        IDE(DrRacket): http://racket-lang.org/程式設計的基本元素基本運算式     用於表示最簡單的個體組合的方法     通過他們可以從簡單構造出複合的元素抽象的方法    

LINQ中的”延遲查詢”特性

        很多標準查詢操作符的設計原型都是返回一個IEnumerable<T>類型的序列, 這些標準查詢操作實際上不會在代碼執行到那一行的時候就返回一個序列, 事實上返回的是一個對象. 當在枚舉(比如foreach)這個對象的時候會從IEnumerable<T>序列中產生一個元素, 這個時候才會真正執行查詢操作. 這就是所謂的"延遲查詢".小例子證明"延遲查詢"的存在性int[] intArray = new int[] { 0, 1, 2, 3

SICP學習筆記(P27-P28)

練習1.11        函數f如下定義: 如果n<3, 那麼f(n)=n; 否則f(n)=f(n-1)+2*f(n-2)*3*f(n-3). 寫出一個遞迴和一個迭代求這個問題.        遞迴:(define (f n) (if (< n 3) n (+ (f (- n 1)) (* 2 (f(- n 2))) (* 3 (f(- n 3))))))        迭代:(define (f n) (if (<

LINQ中的Func委託

一個使用了Func委託的小例子//建立一個整型數組int[] intArray = new int[] { 0, 1, 2, 3 };//聲明Func委託, 判斷是否是奇數Func<int, bool> IsOdd = i => ((i & 1) == 1);//執行查詢操作, 別忘了具有"延遲特性"IEnumerable<int> items = intArray.Where(IsOdd);//顯示結果foreach (int item in items)

設定CodeRush Xpress的線條顏色

      今天從studiostyl.es下載了一個vibrant-ink皮膚, 我還是比較喜歡這種黑色主題的皮膚的, 保護視力!      沒想到這個黑色主題的皮膚卻帶來了其它的問題, 我原來安裝了CodeRush Xpress外掛程式的, Visual Studio使用的是預設的皮膚(背景色白色), 線條的顏色很明顯, 但現在換成黑色的了, 與CodeRush Xpress產生的"塊匹配"線條顏色對比太低, 導致都不怎麼看得清了.      要做的是設定一下顏色, 按Shift+Ctrl+

總頁數: 61357 1 .... 6393 6394 6395 6396 6397 .... 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.