国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

好久沒寫東西了,叨叨兩句

netmou / 2069人閱讀

摘要:最近寫了個簡單的命令行工具,用滿足一些工作上的需求。后面加上了圖片壓縮,以及圖片轉(zhuǎn)的功能。就在寫這個圖片處理工具的過程中,自己得到了一些理解。不過這里更好的解決方法是可以提示用戶圖片體積過大,程序可以先自動壓縮圖片,再生成。

最近寫了個簡單的命令行工具,用node 滿足一些工作上的需求。是一個處理圖片的腳本,一開始只有一個指令,將指定圖片輸出成配置好的不同大小尺寸的圖片。后面加上了圖片壓縮,以及圖片轉(zhuǎn)base64的功能。就在寫這個圖片處理工具的過程中,自己得到了一些理解。

項目結構

項目一開始的幾個文件夾,先新建好。什么constants,lib,utils之類的都安排上。雖然麻煩點,但起碼看著舒服,別人查看你的項目的時候也方便。至少不會覺得你外行(就在寫這個的同時,突然想到可以在自己的腳手架工具中加一個文件夾結構生成指令。。。哈哈哈

代碼結構

代碼風格一定要統(tǒng)一好,linter 選一個自己用的慣的,可以參考別的大佬怎么配置,總之就是要有一套統(tǒng)一的代碼風格。這一塊在編輯器上可以安裝上插件幫忙檢測,code formater 也可以幫忙調(diào)整。

上面提到的項目結構這里就有用了。在敲代碼的時候總歸會用到一些常量,工具函數(shù),這時候就可以把這些要用到的常量,工具函數(shù)統(tǒng)一管理起來,分配好。一開始會覺得麻煩,但是相信我。這個習慣養(yǎng)成了自己的代碼質(zhì)量也會提高(同時很裝逼

可以適當?shù)脑谶吘帉懘a的時候邊運用一些設計模式。雖然說設計模式在一些簡單的項目中可能是畫蛇添足,但是從簡單的項目練習起來,形成思維習慣,不失為一個好的鍛煉。
TL;DR
我這次就遇到一個代碼設計模式上的缺陷,我所寫的一些指令方法其中的logger和主程序都寫在了一個主函數(shù)中。這時有了一個場景,我在轉(zhuǎn)base64的指令中發(fā)現(xiàn)當圖片提及過大,生成的base64編碼量是很龐大的,這時候就加了個圖片體積的限制。不過這里更好的解決方法是可以提示用戶圖片體積過大,程序可以先自動壓縮圖片,再生成base64。然而這里實現(xiàn)起來就限于我之前提到的,代碼耦合,導致主要的腳本程序無法得到復用,從而增加了工作量。
以上,我描述了我在敲代碼時的一個場景。而我接下來做的可能就是會去把各個指令的主要程序從執(zhí)行函數(shù)中抽離出來,給代碼解藕,這樣就可以很自如的應對不同的需求挑戰(zhàn)

建議閱讀一些關于設計模式的知識,一開始理解起來會比較抽象,但總得有開始咯

實際代碼中的嗨點

我是前端程序員,慢慢的在寫JS的時候,發(fā)現(xiàn)一些很舒服的點(自嗨)

適當?shù)倪\用閉包,尖頭函數(shù),高階函數(shù),這些概念要多去理解,多運用。實踐起來之后真的很嗨

比如:

const handleGenerateFail = spinner => err => {
  spinner.text = `壓縮圖片失敗:

${err}`
  spinner.fail()
}

const handleGenerateSucceed = spinner => _output => {
  spinner.text = `壓縮圖片成功`
  spinner.succeed()
  console.log("
查看", _output)
}

const spinner = ora(`圖片壓縮中`).start()
const failHandler = handleGenerateFail(spinner)
const successHandler = handleGenerateSucceed(spinner)

最后

記錄一下自己在洗澡的時候想到的一些東西(廁所真的是一個激發(fā)靈感的好地方

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/99856.html

相關文章

  • SegmentFault 社區(qū)訪談 | Felix:一個如同空氣般存在的人

    showImg(https://segmentfault.com/img/bVWOEd?w=900&h=385); 闊別已久的社區(qū)訪談又雙叒叕和大家見面來,介紹我們這次嘉賓之前,清蒸先來簡單地說下以后的社區(qū)專訪將會加入的兩個小模塊:訪談嘉賓的優(yōu)質(zhì)內(nèi)容以及為期一個星期的提問時間,在本文發(fā)布這天開始計時,在接下來的一個星期,你們可以對專訪嘉賓進行提問,唔,注意提問姿勢(太過八卦的就不會給予回復啦(//...

    劉玉平 評論0 收藏0
  • SegmentFault 社區(qū)訪談 | Felix:一個如同空氣般存在的人

    showImg(https://segmentfault.com/img/bVWOEd?w=900&h=385); 闊別已久的社區(qū)訪談又雙叒叕和大家見面來,介紹我們這次嘉賓之前,清蒸先來簡單地說下以后的社區(qū)專訪將會加入的兩個小模塊:訪談嘉賓的優(yōu)質(zhì)內(nèi)容以及為期一個星期的提問時間,在本文發(fā)布這天開始計時,在接下來的一個星期,你們可以對專訪嘉賓進行提問,唔,注意提問姿勢(太過八卦的就不會給予回復啦(//...

    trilever 評論0 收藏0
  • ABROAD:將系統(tǒng)的VC模式擴展為MVC模式

    摘要:規(guī)范首先從框架規(guī)范起將不規(guī)范的模式擴展為較為規(guī)范的模式,再就是平時寫代碼時命名數(shù)據(jù)庫設計命名文件夾命名等規(guī)范,還有諸如語句書寫的規(guī)范關鍵詞大寫表名和字段名用標識等,感謝大神小志公子和轉(zhuǎn)啊轉(zhuǎn)提醒。就拿的圖做文章的配圖啦,力頂。 ABROAD項目好久沒寫文章了,放了太久,這次要開始發(fā)力完成它了! 在項目停滯的這一兩個月里,又學習了很多新東西,特別是最近加入了一個開發(fā)者社區(qū)(請戳http:...

    taoszu 評論0 收藏0

發(fā)表評論

0條評論

netmou

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<