日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我曾经得到的一个最好的编程建议

發布時間:2024/9/5 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我曾经得到的一个最好的编程建议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多年以前(早在1992年),我加入了這個瘋狂的skunkworks項目,這個項目使用的是他們叫做Smalltalk的另類程序語言。“面向對象”作為一個“熱門”項目才剛剛起步。作為“面向對象”的顧問,報酬非常可觀。很多人自以為這就是新的對象派別的全部內容。直到5年前,Alan Kay發表了“我發明了‘面向對象編程’這個術語,但{Java和C++}跟我所知道的有所不同”的言論。(“I invented the term ‘Object Oriented Programming’ and this {Java and C++} is not what I had in mind.”)

在加入這個奇特的小組,使用這種奇怪的編程語言不久之后,我依然對實例變量、類變量、類實例變量之間的差別感到困惑。我參加了來自ParcPlace的Russ Pencin的培訓課程。他說了一些當時我很不喜歡的東西。盡管不明白金玉良言當中的要點,但我還是努力跟上進度。這需要多年的經驗才能漸漸體會其中的價值。建議的內容是:

不要使用‘er’結尾的對象(Don’t make objects that end with ‘er’.)

沒錯。面向對象編程(OOP)的模式在我們稱之為“程序化編程”的文化當中活力十足。現在我們沒有過多地談論這兩種模式之間的對比。也許一部分是因為面向對象語言現在俯拾即是。面向對象編程流派,在眾多派別中脫穎而出。可惜的是,我經常回想起我在2000年左右聽過Adele Goldberg的演講:“現在我們有很多面向對象編程技術,但就沒有那么多面向對象編程的程序員”。假如我有一個建議想轉告給一群有志成為面向對象程序員的人,那應該是Russ提供的一句金玉良言:“不要使用‘er’結尾的對象。”

這名字到底意味著什么呢?為什么值得人們對它如此興奮?多年以后我發現,面向對象編程的精髓在于將行為綁定在數據上。在你還沒成為他們無歸屬組織的重要一員時,程序就還是由行為和數據構成。在典型的結構化程序設計之中,我們將精力集中在行為(動詞)上,然后弄清楚我們需要哪些數據(名詞)才能執行。總而言之,我們將數據綁定在行為上。但在面向對象程序設計之中,我們將程序的中心用名詞和數據表示,然后弄清楚我們要將哪些行為綁定在他們之上,希望這些我們想要解決的問題能夠在突發的行為中得到答案。

最近我覺得有一個更好的名字來形容一位同事差不多都插手過的每一個“er”對象例子。

給例子起一個更好的名字會讓設計更加具有獨立性,代碼的關聯性更少,總之,更加面向對象。這不是硬性規定,不過這會讓很多例子得到改善。

就拿某種“裝載程序模塊”來說吧,重點在于它的工作單元。模塊有許多實例變量,參數,也許還有很多到處傳輸的數據。如今,取而代之的是LoadRecord和LoadStream。我有理由相信,你們最終使用的工具,更類似于面向對象編程創始人心中設想的模樣。我們想要創造可以描述的對象,然后將某些行為綁定在它上面,而不是將焦點集中在它的行為上,然后弄清楚他們的行為需要哪些數據。

某些以前學過的用er結尾的對象已經絕跡多年

管理者(Manager)——每當我遇到一位管理者時,我就會感到擔憂。大家沒有跟我說它的含義,卻早早地告訴我它的職能。它是注冊表嗎?那就叫它注冊表吧。是歷史記錄還是日志?就那樣稱呼吧。是工廠嗎?就那樣稱呼吧。

控制器(Controller)——我在過去20年內只做過一個上等的控制器對象,它是一個象征著現實世界對象的BallastVoltageController接口。事實上,世界上每一個簡單MVC的執行與控制器的不同作用本應告訴我們這個構想相當協調的事情。

組織者(Organizer以及許多類似的團體)——焦點在于他們的職能。這是一個用來說明讓眾多這種‘ers’對象轉化為組織極其簡單的不錯例子。就把它們稱為組織吧。現在我們來關注它們的內容。

分析器/渲染器/(Analyzer/Renderer)/等等——“勞動者”對象中定義清晰的例子。假設它們是用來分析/渲染/等等。

生成器/加載器/閱讀器/編寫器/(Builder/Loader/Reader/Writer/)等等——把焦點從被操控的對象身上挪開,它們自身往往承擔著重大的責任。

這樣一條路線規則也會有很多例外

有許多以‘er’結尾的名詞。注冊表、邊框、字母、數字。如果真的是一個名詞的話,那就好了。

有很多‘er’結尾的單詞,盡管重點在于它們的行為上,也變得很常見了,所以我們最好至少在一定程度上維持這種情況。分部程序,編譯器,瀏覽器。

當你試圖建立一個以‘er’結尾的域對象模型時,我可以拿比較熟悉的人員管理域作例子,它可以提升個人素質,使人具有管理行為。

你的經歷可能會有所不同,我相信有很多人持反對意見。直到你適應了這種心態一段時間之后,你才能真正體會到。為你的項目/設計提供一個回旋的余地,看看會發生什么。


轉載于:https://www.cnblogs.com/wala-wo/archive/2012/02/18/5119479.html

總結

以上是生活随笔為你收集整理的我曾经得到的一个最好的编程建议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品地址 | 国产在线第二页 | 国产精品v日韩精品v在线观看 | 美女露胸无遮挡 | 久久久久久99精品 | 午夜精品电影 | 捆绑凌虐一区二区三区 | 欧美性啪啪 | 久久免费少妇高潮久久精品99 | a级片日本 | 亚洲黄色免费视频 | 精品一区二区久久久 | 亚洲视频一区二区三区在线观看 | 精品久久久久久久久久久久久久久久 | 亚洲精品久久一区二区三区777 | 国产一区二区在线免费观看视频 | 91精品小视频 | 久久久久久久999 | 亚洲av熟女高潮一区二区 | 美女在线国产 | 亚洲久久成人 | 女人脱下裤子让男人捅 | 中文字幕一区2区3区 | 91在线网站| 色爱av综合网| 欧美精品v | 麻豆传媒网址 | 成人美女在线观看 | 热久久免费视频 | 在线观看污视频网站 | 日韩av一级片 | 大乳女喂男人吃奶视频 | 天堂一区二区三区四区 | 奇米亚洲 | 一本久久久 | 国产免费一区二区三区三州老师 | 91国内在线视频 | 二级毛片在线观看 | 亚洲国产日韩精品 | 国产尤物av | 青青草视频成人 | 在线免费av播放 | 日本久操视频 | 中国肥胖女人真人毛片 | 欧美一性一乱一交一视频 | 日本骚少妇 | 一个色的综合 | 久久成人在线观看 | 国产在线看黄 | 色七七视频 | 荷兰女人裸体性做爰 | 中文字幕免费中文 | 日日操日日操 | 日韩高清免费av | 成人精品影视 | 国产综合第一页 | 性爱视频在线免费 | 日本a级在线 | 亚洲视频一区 | 色欧美综合 | 九九视频在线免费观看 | 伊人一区二区三区四区 | 99在线观看精品视频 | 欧美在线视频a | 国产资源免费 | 精品国产av鲁一鲁一区 | 免费黄色一级片 | 在线观看成人av | 青青草这里只有精品 | 在线欧美一区 | 91成人在线免费视频 | 夫妻淫语绿帽对白 | 欧美一级片一区二区 | 黄色美女片 | 麻豆国产精品一区 | 蜜臀久久99精品久久久无需会员 | 一区二区三区免费在线观看 | 一级黄色片免费播放 | 日本妇乱大交xxxxx | 亚洲一级在线观看 | 欧美成人手机在线视频 | 爽插| 美女性高潮视频 | 国产乱xxⅹxx国语对白 | www.三级| 中文字幕在线字幕中文 | 国产特黄 | 久久久看 | 91黄在线看 | 免费一区二区三区 | 国产视频123区 | 九色porny自拍视频在线播放 | 日本一区二区三区视频在线播放 | 中文字幕女同女同女同 | 91在线看片 | 91av在线免费观看 | 91tv在线| 国产黄色小视频在线观看 | av黄色影院 |