日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
從實(shí)際代碼開(kāi)始編寫好的示例

當(dāng)編寫程序時(shí),我花費(fèi)了大量時(shí)間在編寫好的示例上。我從未見(jiàn)過(guò)有人寫過(guò)關(guān)于如何寫出好的示例,所以我就寫了一下如何寫出一份好的示例。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括余杭網(wǎng)站建設(shè)、余杭網(wǎng)站制作、余杭網(wǎng)頁(yè)制作以及余杭網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,余杭網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到余杭省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

基礎(chǔ)思路就是從你寫的真實(shí)代碼開(kāi)始,然后刪除不相關(guān)的細(xì)節(jié),使其成為一個(gè)獨(dú)立的例子,而不是無(wú)中生有地想出一些例子。

我將會(huì)談?wù)搩煞N示例:基于真實(shí)案例的示例和奇怪的示例

好的示例是真實(shí)的

為了說(shuō)明為什么好的案例應(yīng)該是真實(shí)的,我們就先討論一個(gè)不真實(shí)的案例。假設(shè)我們?cè)谠噲D解釋 Python 的 lambda 函數(shù)(這只是我想到的第一個(gè)概念)。你可以舉一個(gè)例子,使用 map 和 lambda 來(lái)讓一組數(shù)字變?yōu)樵鹊膬杀丁?/p>

 
 
 
 
  1. numbers = [1, 2, 3, 4]
  2. squares = map(lambda x: x * x, numbers)

我覺(jué)得這個(gè)示例不是真實(shí)的,有如下兩方面的原因:

  • 將一組數(shù)字作平方運(yùn)算不是在真實(shí)的程序中完成的事,除非是歐拉項(xiàng)目或某種東西(更多的可能是針對(duì)列表的操作)
  • map 在 Python 中并不常用,即便是做這個(gè)我也更愿意寫 [x*x for x in numbers]

一個(gè)更加真實(shí)的 Python lambdas 的示例是使用 sort 函數(shù),就像這樣:

 
 
 
 
  1. children = [{"name": "ashwin", "age": 12}, {"name": "radhika", "age": 3}]
  2. sorted_children = sorted(children, key=lambda x: x['age'])

但是這個(gè)示例是被精心設(shè)計(jì)的(為什么我們需要對(duì)這些孩子按照年齡進(jìn)行排序呢?)。所以我們?nèi)绾蝸?lái)做一個(gè)真實(shí)的示例呢?

如何讓你的示例真實(shí)起來(lái):看你所寫實(shí)際代碼

我認(rèn)為最簡(jiǎn)單的來(lái)生成一個(gè)例子的方法就是,不是憑空出現(xiàn)一個(gè)例子(就像我用那個(gè)兒童的例子),而只是從真正的代碼開(kāi)始!

舉一個(gè)例子吧,如果我要用 sort.+key 來(lái)編寫一串 Python 代碼,我會(huì)發(fā)現(xiàn)很多我按某個(gè)標(biāo)準(zhǔn)對(duì)列表進(jìn)行排序的真實(shí)例子,例如:

  • tasks.sort(key=lambda task: task['completed_time'])
  • emails = reversed(sorted(emails, key=lambda x:x['receivedAt']))
  • sorted_keysizes = sorted(scores.keys(), key=scores.get)
  • shows = sorted(dates[date], key=lambda x: x['time']['performanceTime'])

在這里很容易看到一個(gè)規(guī)律——這些基本是按時(shí)間排序的!因此,你可以明白如何將按時(shí)間排序的某些對(duì)象(電子郵件、事件等)的簡(jiǎn)單實(shí)例輕松地放在一起。

現(xiàn)實(shí)的例子有助于“布道”你試圖解釋的概念

當(dāng)我試圖去解釋一個(gè)想法(就好比 Python Lambdas)的時(shí)候,我通常也會(huì)試圖說(shuō)服讀者,說(shuō)這是值得學(xué)習(xí)的想法。Python lambdas 是如此的有用!當(dāng)我去試圖說(shuō)服某個(gè)人 lambdas 是很好用的時(shí)候,讓他想象一下 lambdas 如何幫助他們完成一項(xiàng)他們將要去做的任務(wù)或是以及一項(xiàng)他們以前做過(guò)的任務(wù),對(duì)說(shuō)服他會(huì)很有幫助。

從真實(shí)代碼中提煉出示例可能需要很長(zhǎng)時(shí)間

我給出如何使用 lambda 和 sort 函數(shù)的解釋例子是十分簡(jiǎn)單的,它并不需要花費(fèi)我很長(zhǎng)時(shí)間來(lái)想出來(lái),但是將真實(shí)的代碼提煉出為一個(gè)獨(dú)立的示例則是會(huì)需要花費(fèi)很長(zhǎng)的時(shí)間!

舉個(gè)例子,我想在這篇文章中融入一些奇怪的 CSS 行為的例子來(lái)說(shuō)明創(chuàng)造一個(gè)奇怪的案例是十分有趣的。我花費(fèi)了兩個(gè)小時(shí)來(lái)解決我這周遇到的一個(gè)實(shí)際的問(wèn)題,確保我理解 CSS 的實(shí)際情況,并將其變成一個(gè)小示例。

最后,它“僅僅”用了 五行 HTML 和一點(diǎn)點(diǎn)的 CSS 來(lái)說(shuō)明了這個(gè)問(wèn)題,看起來(lái)并不想是我花費(fèi)了好多小時(shí)寫出來(lái)的。但是最初它卻是幾百行的 JS/CSS/JavaScript,它需要花費(fèi)很長(zhǎng)時(shí)間來(lái)將所有的代碼化為核心的很少的代碼。

但我認(rèn)為花點(diǎn)時(shí)間把示例講得非常簡(jiǎn)單明了是值得的——如果有成百上千的人在讀你的示例,你就節(jié)省了他們這么多時(shí)間!

就這么多了!

我覺(jué)得還有更多關(guān)于示例可以去講的——幾種不同類型的有用示例,例如:

  • 可以更多的改變?nèi)说乃季S而不是直接提供使用的驚喜讀者的示例代碼
  • 易于復(fù)制粘貼以用作初始化的示例

也許有一天我還會(huì)再寫一些呢? :smiley:


文章名稱:從實(shí)際代碼開(kāi)始編寫好的示例
當(dāng)前路徑:http://www.dlmjj.cn/article/dhgscep.html