一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

我是如何學(xué)習(xí)寫代碼的?v2

 Mixlab交叉學(xué)科 2020-11-07

代碼 」對于我來說,如同「 設(shè)計 」一樣,都是為了「 創(chuàng)造 」 出某種產(chǎn)品的一種手段。

作為設(shè)計師,與開發(fā)打交道,難免會有種 ” 巧婦難為無米之炊 “ 的感覺;

而程序員,當(dāng)自己開發(fā)了某個工具之后,為了追求更好的體驗,苦于不懂「 設(shè)計 」,也很難更上一層樓。

寫代碼重要嗎?

“代碼只服雷軍”,雷軍在小米之前,做了10年程序員。

據(jù)網(wǎng)友爆料,京東劉強(qiáng)東在一次講座上,稱自己大三(1995年)的時候,他給別人寫代碼,一個晚上就能賺5萬。

設(shè)計師應(yīng)該會寫代碼嗎?

設(shè)計工具的演進(jìn),從Sketch 、 Pixate, 再到 Framer,設(shè)計師的工具,越來越簡單有效地通過原型表現(xiàn)創(chuàng)意。

設(shè)計工具引入代碼

Framer是一款結(jié)合代碼與可視化實現(xiàn)的交互設(shè)計工具,因為通過代碼,可以完全控制交互效果,設(shè)計師不僅停留在畫圖的層面,更多的可以關(guān)注到實現(xiàn)的真實效果。

寫代碼難嗎?

一位朋友,在咨詢了我一陣子后,開始學(xué)習(xí) Python ,但是在堅持了2個月的時候,他逐漸減少學(xué)習(xí)時間,并最終放棄了。因為,他覺得代碼要學(xué)習(xí)的知識太龐大了,不知如何入手,一旦有新問題解決不了學(xué)習(xí)進(jìn)度就卡在那里,從而越學(xué)越覺得難。

知識量龐大,問題不斷

其實寫代碼,入門并不難

因為還有積木式編程語言:Scratch

不管是成年人,還是青少年,通過Scratch可以快速得掌握編程的核心思想。但核心思想是什么?往往被許多人所忽略。?

學(xué)習(xí)編程,應(yīng)該掌握其運(yùn)行的邏輯,試試回答以下幾個問題:

1 我們是如何通過一個個的指令給計算機(jī)安排任務(wù)的?

2 計算機(jī)如何按照我們設(shè)定的條件,執(zhí)行任務(wù)?

3 計算機(jī)是如何執(zhí)行重復(fù)執(zhí)行任務(wù)的?

4 計算機(jī)完成任務(wù)的時候,是如何反饋給我們的?

代碼最難的是邏輯

引一位Oracle程序員在Hacker News上吐槽自己的工作的討論。這個工程師的核心痛點(diǎn)是,Oracle經(jīng)歷長期的產(chǎn)品線迭代,代碼異常龐大、邏輯復(fù)雜。每新增一個特性或者修復(fù)BUG,該工程師都需要大量的調(diào)試,小心謹(jǐn)慎的進(jìn)行著日常的工作。而Oracle每次的版本發(fā)布都經(jīng)歷數(shù)百萬次的測試,工作量可想而知。

學(xué)習(xí)代碼也是有方法

一般的初學(xué)者是這2類:

零基礎(chǔ),指的是對代碼一點(diǎn)了解,或者曾經(jīng)看過一點(diǎn)點(diǎn),沒有系統(tǒng)了解過編程語言的。

入門級,會一門編程語言,會寫一點(diǎn)點(diǎn)代碼,但是無法自己完成一個項目從0到1構(gòu)建的。

以下是給初學(xué)者如何學(xué)習(xí)代碼的指南。

01

最小項目實踐+系統(tǒng)地刻意練習(xí)

如果是零基礎(chǔ),建議先學(xué)一門語言,一步步來,按章節(jié)進(jìn)行,同時,適當(dāng)增加實踐項目的練習(xí),比如DIY一個以圖搜圖引擎等類似的項目。

當(dāng)你學(xué)完這一階段的入門,不再是0基礎(chǔ)之后,就可以嘗試了解各種語言的環(huán)境安裝、最小可運(yùn)行代碼集,以及各種開發(fā)工具,嘗試各種好玩、復(fù)雜的項目了~

02

最小可運(yùn)行的代碼集

主要通過看示例,包括作者提供的示例代碼,網(wǎng)上文章提供的示例代碼等;舉一個turicreate的以圖搜圖代碼示例:

03

理解功能

get到思想就好,理解代碼里的每一句的含義,真實的行為,就跟讀書一樣,知道作者的核心思想是什么;

比如下面這3句,第1句是初始化一個類,該類可以提取圖片的特征向量,第2句是通過文件路徑打開圖片,第3句是從圖片提取特征向量。

04

關(guān)注輸入、輸出的數(shù)據(jù)結(jié)構(gòu)

輸入的是字符串,還是一個列表,還是一個字典?輸出的是什么也非常重要,比如輸出的時候,有None的可能,那下一段代碼對此輸出結(jié)果引用的時候,就要注意啦。

如果輸入_idea為"",輸出為None,這個時候?qū)懘a的時候就要留意輸入跟輸出的各種可能。

05

即搜即用

當(dāng)你掌握以上技巧的時候,就會發(fā)現(xiàn)沒必要從頭到尾全部一口氣把代碼全部學(xué)完,需要的時候再快速翻閱文檔,通過示例、輸入輸出、理解功能這三個點(diǎn),就可以現(xiàn)學(xué)現(xiàn)用啦。

06

優(yōu)雅的代碼

對于初學(xué)者來說,需要關(guān)注如何書寫優(yōu)雅的代碼,主要表現(xiàn)在:

代碼所在位置恰當(dāng);

有適當(dāng)?shù)淖⑨專?/span>

適當(dāng)?shù)目s進(jìn)和空行;

以及沒有重復(fù)代碼……

這里面的內(nèi)功修養(yǎng),離不開設(shè)計模式和代碼重構(gòu),還要有非常多的實踐與刻意練習(xí)。這幾本書都可以抽空讀一讀:

《Head First設(shè)計模式》

《重構(gòu)》

《Clean Code》

以上為全文。

寫代碼是基本功,鍛煉的是邏輯思維能力,跟解決問題的能力。

在不久的未來,寫代碼也是可以機(jī)器完成的,不知大家關(guān)注過這項研究嗎?

pix2code 等論文提出了一個強(qiáng)大的前端代碼生成模型,解釋了如何利用 LSTM 與 CNN 將設(shè)計原型轉(zhuǎn)化為 HTML 和 CSS 網(wǎng)站。

人工智能寫代碼,未來可期;

學(xué)習(xí)代碼,我們應(yīng)該更多地關(guān)注背后的邏輯思維能力。

歡迎在MixLab討論相關(guān)內(nèi)容、技術(shù)實現(xiàn),

MixLab是一所面向未來的實驗室

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久久精品亚洲精品一区| 青青免费操手机在线视频| 日韩欧美国产高清在线| 久久精品国产99精品亚洲| 欧美精品日韩精品一区| 国产又大又黄又粗的黄色| 欧美一级片日韩一级片| 97人妻精品一区二区三区男同| 日韩精品一区二区毛片| 亚洲成人精品免费在线观看 | 国产日本欧美特黄在线观看| 日本黄色美女日本黄色| 国产三级欧美三级日韩三级| 热久久这里只有精品视频| 亚洲欧美国产网爆精品| 2019年国产最新视频| 欧美二区视频在线观看| 九九热九九热九九热九九热| 九九热九九热九九热九九热| 亚洲国产综合久久天堂| 国产亚洲精品久久久优势| 国产一区欧美一区日韩一区 | 欧美精品在线观看国产| 一级片黄色一区二区三区| 欧美一区二区三区在线播放| 精品人妻一区二区三区四在线| 午夜视频成人在线观看| 精品少妇人妻av一区二区蜜桃| 国产精品欧美激情在线观看| 亚洲精品中文字幕无限乱码| 久久精品福利在线观看| 日韩一级一片内射视频4k| av在线免费观看在线免费观看| 精品国产亚洲一区二区三区| 欧美综合色婷婷欧美激情| 亚洲欧洲在线一区二区三区| 国产精品一区二区视频成人| 夜夜躁狠狠躁日日躁视频黑人| 国产成人精品国内自产拍| 国产精品色热综合在线| 精品国产亚洲一区二区三区|