成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從實際代碼開始編寫好的示例

開發(fā) 后端
當編寫程序時,我花費了大量時間在編寫好的示例上。我從未見過有人寫過關于如何寫出好的示例,所以我就寫了一下如何寫出一份好的示例。我將會談論兩種示例:基于真實案例的示例和奇怪的示例。

當編寫程序時,我花費了大量時間在編寫好的示例上。我從未見過有人寫過關于如何寫出好的示例,所以我就寫了一下如何寫出一份好的示例。

基礎思路就是從你寫的真實代碼開始,然后刪除不相關的細節(jié),使其成為一個獨立的例子,而不是無中生有地想出一些例子。

我將會談論兩種示例:基于真實案例的示例和奇怪的示例

好的示例是真實的

為了說明為什么好的案例應該是真實的,我們就先討論一個不真實的案例。假設我們在試圖解釋 Python 的 lambda 函數(這只是我想到的第一個概念)。你可以舉一個例子,使用 map 和 lambda 來讓一組數字變?yōu)樵鹊膬杀丁?/p>

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

我覺得這個示例不是真實的,有如下兩方面的原因:

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

一個更加真實的 Python lambdas 的示例是使用 sort 函數,就像這樣:

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

但是這個示例是被精心設計的(為什么我們需要對這些孩子按照年齡進行排序呢?)。所以我們如何來做一個真實的示例呢?

如何讓你的示例真實起來:看你所寫實際代碼

我認為最簡單的來生成一個例子的方法就是,不是憑空出現一個例子(就像我用那個兒童的例子),而只是從真正的代碼開始!

舉一個例子吧,如果我要用 sort.+key 來編寫一串 Python 代碼,我會發(fā)現很多我按某個標準對列表進行排序的真實例子,例如:

  • 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'])

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

現實的例子有助于“布道”你試圖解釋的概念

當我試圖去解釋一個想法(就好比 Python Lambdas)的時候,我通常也會試圖說服讀者,說這是值得學習的想法。Python lambdas 是如此的有用!當我去試圖說服某個人 lambdas 是很好用的時候,讓他想象一下 lambdas 如何幫助他們完成一項他們將要去做的任務或是以及一項他們以前做過的任務,對說服他會很有幫助。

從真實代碼中提煉出示例可能需要很長時間

我給出如何使用 lambda 和 sort 函數的解釋例子是十分簡單的,它并不需要花費我很長時間來想出來,但是將真實的代碼提煉出為一個獨立的示例則是會需要花費很長的時間!

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

最后,它“僅僅”用了 五行 HTML 和一點點的 CSS 來說明了這個問題,看起來并不想是我花費了好多小時寫出來的。但是最初它卻是幾百行的 JS/CSS/JavaScript,它需要花費很長時間來將所有的代碼化為核心的很少的代碼。

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

就這么多了!

我覺得還有更多關于示例可以去講的——幾種不同類型的有用示例,例如:

  • 可以更多的改變人的思維而不是直接提供使用的驚喜讀者的示例代碼
  • 易于復制粘貼以用作初始化的示例

也許有一天我還會再寫一些呢? :smiley: 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2010-04-21 13:31:11

Oracle時間

2010-04-12 12:30:44

Oracle 安裝腳本

2010-05-18 16:29:44

MySQL修改表

2010-06-02 17:46:54

MySQL 查詢緩存

2023-06-19 14:14:24

Rust程序Web

2010-05-17 09:25:34

MySql 編碼設置

2010-04-12 09:26:52

Oracle查詢分頁

2018-04-11 10:51:25

多線程進程主線程

2010-04-13 14:25:24

Oracle問題解決

2009-11-26 10:39:58

PHP字符串連接

2022-04-07 18:49:56

項目場景數據庫

2010-01-11 11:37:08

VB.NET操作CSV

2010-03-23 13:30:36

Python VIM

2010-04-19 11:37:20

Oracle數據庫

2020-04-21 16:13:29

LinuxCut命令Unix系統(tǒng)

2010-01-15 11:31:02

VB.NET接口實現多

2018-01-26 14:47:04

分布式緩存

2009-04-17 22:25:16

多核四核CPU

2021-06-22 09:18:13

Python代碼技巧

2010-04-19 11:21:39

Oracle視圖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产乱码久久久久久闺蜜 | 中文字幕在线观看日韩 | 国产免费又色又爽又黄在线观看 | 91av视频在线免费观看 | 天天天操操操 | 国产一级特黄aaa大片评分 | www视频在线观看 | 久久国| 亚洲 中文 欧美 | 99视频在线免费观看 | 在线一区 | 国产丝袜av | 一级黄色录像毛片 | 久久久精彩视频 | 国产亚洲精品精品国产亚洲综合 | 九九亚洲| 国产成人在线一区二区 | 二区成人| 久久综合伊人 | 午夜视频免费 | 欧美9999 | 日本精品免费在线观看 | 亚洲欧美中文日韩在线v日本 | 在线黄 | 国产美女视频 | 国产高清免费 | 99久久中文字幕三级久久日本 | 日韩一区三区 | 一区二区三区四区在线 | 国产一区二区不卡 | 日韩不卡一区二区 | 久久国产亚洲 | 69福利影院 | 91成人在线视频 | 亚洲免费在线 | 中文字幕日韩一区 | 国产精品久久久久久久久久久新郎 | www.国产精 | 国产精品亚洲综合 | 亚洲91精品| 久久国产精品一区二区三区 |