国产香蕉97碰碰久久人人_日本精品一区二区三区在线_免费无码黄十八禁网站在线观看_精品亚洲成AV人在线观看

網(wǎng)上兼職崗

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

兼職類別:職場(chǎng)技巧
這里講的不是一個(gè)一步一步的做麻將游戲執(zhí)行教程,而是“設(shè)計(jì)”本身——探索,思考,執(zhí)行,修改的過程,一步步地執(zhí)行設(shè)計(jì)其實(shí)是最簡(jiǎn)單的那一部分,執(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ā)人員對(duì)軟件的理解是數(shù)據(jù)結(jié)構(gòu)+算法,現(xiàn)代面向?qū)ο蟮拈_發(fā)人員的理解是抽象對(duì)象(繼承/多態(tài)/泛型)出具體對(duì)象。它們的共同特點(diǎn)都是將現(xiàn)實(shí)世界直接抽象為程序設(shè)計(jì),而每種開發(fā)人員所掌握的設(shè)計(jì)范式或習(xí)慣均有差異,為了團(tuán)隊(duì)不得不用框架及最佳實(shí)踐來約束差異,減少理解和修改的成本。
 
  但是,將現(xiàn)實(shí)世界直接抽象為程序設(shè)計(jì)到底是不是正確的思路呢?這個(gè)思路對(duì)開發(fā)人員無疑是最直觀的,但長(zhǎng)久在團(tuán)隊(duì)的約束下,久而久之就變成了對(duì)“最佳實(shí)踐”的執(zhí)行——而非設(shè)計(jì),而執(zhí)行則是最簡(jiǎn)單的那一部分,只會(huì)執(zhí)行的程序員通常被戲稱為碼農(nóng)。
 
  那么麻將是背包、堆棧、隊(duì)列還是紅黑樹呢?都不是,你會(huì)發(fā)現(xiàn)你學(xué)會(huì)了這么多數(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呢?沒有人教你乘法過程——沒有人教你對(duì)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。因?yàn)槌鯇W(xué)者在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)時(shí)是與算法相對(duì)的,會(huì)被理解為一個(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ū)ο笾械膶?duì)象——狀態(tài)與方法。但它們之間還是有一定的差別。
 
  為什么說數(shù)據(jù)結(jié)構(gòu)的本質(zhì)是集合與算法?回到麻將游戲上,不能用其它數(shù)據(jù)結(jié)構(gòu),不如我們?cè)O(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),這只是集合,以及對(duì)集合的操作。不是棧也不是樹,不要讓數(shù)據(jù)結(jié)構(gòu)將你的思維限定住了
 
  不應(yīng)該將現(xiàn)實(shí)世界直接轉(zhuǎn)化為計(jì)算機(jī)語(yǔ)言,而應(yīng)該先抽象為數(shù)學(xué)語(yǔ)言(或者說數(shù)學(xué)語(yǔ)言的需求分析),然后進(jìn)行技術(shù)選型,再轉(zhuǎn)化為計(jì)算機(jī)語(yǔ)言——函數(shù)式也好,面向?qū)ο笠埠,?dòng)態(tài)語(yǔ)言也好,都是浮云。
發(fā)布時(shí)間:2018-07-03 來源:網(wǎng)上兼職崗 關(guān)注:
職場(chǎng)技巧推薦
  • 小李兼職做武漢鴨脖賺大錢的經(jīng)歷
  • 現(xiàn)在的一些小吃都是受到廣大中國(guó)人民的喜愛的,比如說最近幾年大家都比較喜歡吃的武漢鴨脖,這絕對(duì)是一個(gè)做兼職非常好的商業(yè)機(jī)會(huì)。
  • 職場(chǎng)技巧 03-10
  • 兼職做淘寶美工這一類職業(yè)靠譜嗎
  • 現(xiàn)在有許多的年輕人非常有創(chuàng)意,他們都喜歡設(shè)計(jì)一些東西,比如說一些標(biāo)識(shí)圖表或者說是小創(chuàng)作等等。
  • 職場(chǎng)技巧 03-08
  • 兼職做游戲開發(fā)前景如何
  • 現(xiàn)在的很多人對(duì)于游戲還是比較感興趣的,而且近幾年我國(guó)對(duì)于游戲開發(fā)這一方面還是比較注重的
  • 職場(chǎng)技巧 03-08
  • 兼職海底撈工作者需要掌握十八般武藝
  • 最近很多人對(duì)于海底撈這種火鍋還是非常的喜愛的。海底撈一開始是起源于四川的,在1994年的時(shí)候就有人經(jīng)營(yíng)了一種以川味火鍋為主
  • 職場(chǎng)技巧 03-04
  • 在酒吧兼職做歌手的工作
  • 現(xiàn)在有很多的年輕人因?yàn)楣ぷ鲏毫Ρ容^大白天有非常多的時(shí)間都是忙碌于工作崗位之上,導(dǎo)致他們一整天下來都沒有時(shí)間去放松休息
  • 職場(chǎng)技巧 03-01
  • 跟拍婚禮的兼職一個(gè)月多少錢?
  • 很多人在結(jié)婚的時(shí)候都是希望自己能有一個(gè)畢生難忘的婚禮的,不少人在結(jié)婚之前就會(huì)在一些婚慶公司承包自己的婚禮
  • 職場(chǎng)技巧 02-28