亚洲第一成网站-国产福利一二三-亚洲精品字幕在线观看-99国产在线-久久免费播放视频-亚洲精品18-国产久精品-色姑娘桃花网-国语对白做受按摩的注意事项-狼人狠狠干-污污视频在线观看免费-九九九久久久久-国产欧美一区二区三区在线老狼-永久免费无码网站在线观看个-亚洲一级片免费看-亚洲成人免费看-亚洲天堂一区二区三区

網(wǎng)上兼職崗

一個(gè)程序員告訴你閑來麻將怎么開發(fā)的

兼職類別:職場技巧
這里講的不是一個(gè)一步一步的做麻將游戲執(zhí)行教程,而是“設(shè)計(jì)”本身——探索,思考,執(zhí)行,修改的過程,一步步地執(zhí)行設(shè)計(jì)其實(shí)是最簡單的那一部分,執(zhí)行設(shè)計(jì)不叫設(shè)計(jì),最多算個(gè)熟練工。
 
  首先我們拿到一副麻將。第一步應(yīng)該是分解“設(shè)計(jì)”這件事情本身,(注意,這里不是把麻將分成幾類),分解出數(shù)據(jù)結(jié)構(gòu)的那一層次設(shè)計(jì)。通常我們拿到一份這樣的設(shè)計(jì),直接開始選擇數(shù)據(jù)結(jié)構(gòu)——麻將是背包、堆棧、隊(duì)列、紅黑樹?特別喜歡照本宣科,善于模仿的同學(xué)。而做過項(xiàng)目的同學(xué),通常首先開始弄一個(gè)麻將接口、麻將類,然后增加打麻將方法。而我認(rèn)為這都不是好的設(shè)計(jì)步驟。
 
  傳統(tǒng)開發(fā)人員對軟件的理解是數(shù)據(jù)結(jié)構(gòu)+算法,現(xiàn)代面向?qū)ο蟮拈_發(fā)人員的理解是抽象對象(繼承/多態(tài)/泛型)出具體對象。它們的共同特點(diǎn)都是將現(xiàn)實(shí)世界直接抽象為程序設(shè)計(jì),而每種開發(fā)人員所掌握的設(shè)計(jì)范式或習(xí)慣均有差異,為了團(tuán)隊(duì)不得不用框架及最佳實(shí)踐來約束差異,減少理解和修改的成本。
 
  但是,將現(xiàn)實(shí)世界直接抽象為程序設(shè)計(jì)到底是不是正確的思路呢?這個(gè)思路對開發(fā)人員無疑是最直觀的,但長久在團(tuán)隊(duì)的約束下,久而久之就變成了對“最佳實(shí)踐”的執(zhí)行——而非設(shè)計(jì),而執(zhí)行則是最簡單的那一部分,只會執(zhí)行的程序員通常被戲稱為碼農(nóng)。
 
  那么麻將是背包、堆棧、隊(duì)列還是紅黑樹呢?都不是,你會發(fā)現(xiàn)你學(xué)會了這么多數(shù)據(jù)結(jié)構(gòu),一點(diǎn)用處也沒有,(傳統(tǒng)的面向?qū)ο笤O(shè)計(jì)無疑能夠解決這類問題,面向?qū)ο?比如;" />
 
  為什么這么多數(shù)據(jù)結(jié)構(gòu),都處理不了麻將?抑或說處理地非常別扭,不夠完備。因?yàn)槲覀冎皇潜痴b了那些數(shù)據(jù)結(jié)構(gòu),就像背誦乘法口訣表,1乘以1到9乘以9,那么19乘以1234呢?沒有人教你乘法過程——沒有人教你對數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。因?yàn)槌鯇W(xué)者在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)時(shí)是與算法相對的,會被理解為一個(gè)靜態(tài)的結(jié)構(gòu)。但是數(shù)據(jù)結(jié)構(gòu)不是一個(gè)靜態(tài)結(jié)構(gòu),不是像房型建筑就是那個(gè)樣子。數(shù)據(jù)結(jié)構(gòu)就包含了算法,我們應(yīng)該將數(shù)據(jù)結(jié)構(gòu)分解為集合與算法——數(shù)據(jù)結(jié)構(gòu)的本質(zhì)不是結(jié)構(gòu),而是集合與算法,這看起來很像面向?qū)ο笾械膶ο?mdash;—狀態(tài)與方法。但它們之間還是有一定的差別。
 
  為什么說數(shù)據(jù)結(jié)構(gòu)的本質(zhì)是集合與算法?回到麻將游戲上,不能用其它數(shù)據(jù)結(jié)構(gòu),不如我們設(shè)計(jì)一個(gè)麻將結(jié)構(gòu)——麻將本身是一個(gè)集合,這個(gè)集合分為兩大類。1)桌面上的麻將,2)人手上拿的13張麻將。
 
  1)桌面上的麻將——它的最大值是恒定的,只能被隨機(jī)delete不能被add,為空后游戲結(jié)束。(這就是3個(gè)算法)
 
  2)人們手上的麻將——它的值始終是恒定的,隨機(jī)add,選定delete,每delete一次,同時(shí)被從桌面麻將上add一個(gè)進(jìn)來。(這是4個(gè)算法)
 
  你說這是什么數(shù)據(jù)結(jié)構(gòu)?第2個(gè)看起來有點(diǎn)像哈希表,因?yàn)橐x定delete,要有索引,有索引就用哈希?No,這不是任何數(shù)據(jù)結(jié)構(gòu),這只是集合,以及對集合的操作。不是棧也不是樹,不要讓數(shù)據(jù)結(jié)構(gòu)將你的思維限定住了
 
  不應(yīng)該將現(xiàn)實(shí)世界直接轉(zhuǎn)化為計(jì)算機(jī)語言,而應(yīng)該先抽象為數(shù)學(xué)語言(或者說數(shù)學(xué)語言的需求分析),然后進(jìn)行技術(shù)選型,再轉(zhuǎn)化為計(jì)算機(jī)語言——函數(shù)式也好,面向?qū)ο笠埠茫瑒討B(tài)語言也好,都是浮云。
發(fā)布時(shí)間:2018-07-03 來源:網(wǎng)上兼職崗 關(guān)注:
職場技巧推薦
  • 小李兼職做武漢鴨脖賺大錢的經(jīng)歷
  • 現(xiàn)在的一些小吃都是受到廣大中國人民的喜愛的,比如說最近幾年大家都比較喜歡吃的武漢鴨脖,這絕對是一個(gè)做兼職非常好的商業(yè)機(jī)會。
  • 職場技巧 03-10
  • 兼職做淘寶美工這一類職業(yè)靠譜嗎
  • 現(xiàn)在有許多的年輕人非常有創(chuàng)意,他們都喜歡設(shè)計(jì)一些東西,比如說一些標(biāo)識圖表或者說是小創(chuàng)作等等。
  • 職場技巧 03-08
  • 兼職做游戲開發(fā)前景如何
  • 現(xiàn)在的很多人對于游戲還是比較感興趣的,而且近幾年我國對于游戲開發(fā)這一方面還是比較注重的
  • 職場技巧 03-08
  • 兼職海底撈工作者需要掌握十八般武藝
  • 最近很多人對于海底撈這種火鍋還是非常的喜愛的。海底撈一開始是起源于四川的,在1994年的時(shí)候就有人經(jīng)營了一種以川味火鍋為主
  • 職場技巧 03-04
  • 在酒吧兼職做歌手的工作
  • 現(xiàn)在有很多的年輕人因?yàn)楣ぷ鲏毫Ρ容^大白天有非常多的時(shí)間都是忙碌于工作崗位之上,導(dǎo)致他們一整天下來都沒有時(shí)間去放松休息
  • 職場技巧 03-01
  • 跟拍婚禮的兼職一個(gè)月多少錢?
  • 很多人在結(jié)婚的時(shí)候都是希望自己能有一個(gè)畢生難忘的婚禮的,不少人在結(jié)婚之前就會在一些婚慶公司承包自己的婚禮
  • 職場技巧 02-28
阆中市| 上高县| 台中县| 顺义区| 西昌市| 宜昌市| 山阴县| 宜宾市| 马边| 赤壁市| 达尔| 锡林郭勒盟| 宽城| 青冈县| 礼泉县| 泾源县| 张家界市| 泰来县| 湾仔区| 西峡县| 五家渠市| 赣榆县| 荥经县| 惠水县| 合水县| 布尔津县| 新昌县| 巨野县| 丁青县| 拜城县| 清徐县| 来宾市| 容城县| 邹城市| 益阳市| 安化县| 原阳县| 崇信县| 乃东县| 鲁甸县| 色达县|