色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

編程的三大經驗方法總結

m3eY_edn_china ? 2018-03-05 10:20 ? 次閱讀

今年將迎來我編程的第十七個年頭。我的編程之旅始于九十年代末,上大學的時候,主要涉足基于表格的網頁設計,傳統的ASP,和Microsoft Access數據庫。原來只是當作業余愛好的編程現在已經成為了我的事業和激情。我一生一半的時間都在學習、蹣跚、成功、失敗,并且經常情不自禁地為代碼美麗和復雜的天性而折腰。

我在代碼上淫浸了足夠長的時間,因此看到了很多語言和平臺的興盛和消亡,看到了很多模式被普及,被苛責,然后再次被推廣。在某些時候,我常常分不清這是大勢所趨還是明日黃花。

編程的流行趨勢是短暫的,但我堅守的規則,往往在生活中的其他地方也能發揮作用。事實上,生活就像代碼(我已經買了這個域名來證明這一點!)。以下是我總結的3個偉大的經驗教訓,歷經一次又一次編程和生活的大浪淘沙。

1.可商榷的決定往往是一種權衡。

偉大的辯論總是發生在開發社區中。無論它是最近關于TDD作為web開發的一種可行方法的辯論,還是什么水平的開發人員應該使用ORM(或micro-ORMs)。無論是.NET MVC應該優于WebForms還是以JavaScript為中心的app應該比基于頁面的app更受青睞,對我來說,答案都一樣:看你權衡之后的取舍?

在任何比較兩種流行方法的辯論中,我們總是會從自己的立場出發,兩利相權取其重,兩害相權取其輕。在我的職業生涯早期,我曾執著于追求所謂的正確答案。感覺過程是線性的:擺脫做事的老辦法,轉而投向新的并且更好的方法的懷抱。曾經有一段時間我深信,編寫自己的SQL查詢是一種過時的練習,并且ORMs是最后贏家。

但是,我了解到,更好的辦法應該由內容決定的。例如,今天完全成熟的ORMs在隔離映射相關數據網格到對象的冗長管道提供了偉大服務,但隔離也使得某種非標準查詢變得困難并且有潛在的效率低下問題。n+1 select problem就是經典的在少寫代碼和寫更多高效代碼之間做權衡。我使用ORM的程度完全受我期待應用程序使用的數據量,我所受到的潛在的時間限制,app長期可擴展性需求這三者的影響。(順便說一句,我目前是micro-ORMs,比如說Dapper的忠實粉絲,它能讓我編寫我自己的SQL和一些精巧的對象-關系映射)。

我已經將這個經驗應用到了我生活的其他方面。我是應該買一套公寓還是長租房子?我是應該啟動自己的生意還是工作于已經成立的公司?沒有絕對正確的選擇。當你權衡利弊了之后,你便可以更好地應對生活中的各種難題。

2.清晰并不總和簡潔相關。

和大多數工程師一樣,我對持續重構一直到代碼盡可能地少和簡潔的機會垂涎三尺。如果可以選擇更少又更簡潔的代碼來完成同樣的任務,那么我為什么要選擇要個更多代碼的方案呢?通常情況下,更簡潔的語言會導致更好的交流。畫蛇添足只會阻礙核心信息的提取。但是,最終的目標不應該是簡潔——而應該是可交流。于我而言,下面這段直截了當的代碼,在它更長的時候……

if (HasFarm() && HasBoat()) { Broadcast("You are wealthy!"); } else if (HasFarm() && !HasBoat()) { Broadcast("You are OK!"); } else if (!HasFarm() && HasBoat()) { Broadcast("You are OK!"); } else if (!HasFarm() && !HasBoat()) { Broadcast("You are poor!"); }

……反而比這個簡潔版本更明確。

(HasFarm() && HasBoat()) ? Broadcast("You are wealthy!") : (HasFarm() || HasBoat()) ? Broadcast("You are OK!") : Broadcast("You are poor!");

雖然這是一個品味問題(有些人可能會覺得后者看上去更加一目了然),但是我在這里要表述的觀點是,有時候解釋的最偉大方法并不是簡化。這個經驗也適用于日常生活,我花了大量時間來思考怎么樣才能更好地傳達消息以便于對方接收——有時更詳細的講解并非沒有價值,而是更明確傳達信息的必須。

舉例來說,我想要更明確和更詳細地告訴我爸爸應該如何關閉iPad(“按住右側的按鈕一段時間……”)。或者,我看似多此一舉地鍵入了一些我已經提交到本地分支的內容給我的同事(“剛剛犯的錯誤已被修復”),然后當它涉及到部署更新到產品中時,我就能很明確地知道哪些具體的提交被合并和出現(“檢查4812-4822行,其中包括在6/15發行版本中的DoneDone問題,將在今晚的產品發布中提出來。”)。

3.累計良性債務,并且要持續償還。

我在一個特別害怕欠債的家庭中長大。八十年代中期,我的父母傾其所有又東拼西湊,付了他們第一套房子75%的首付,然后在七年內付清了剩余款項。用現金支付是常態。信用支付在他們看來幾乎是一種罪過。作為一個孩子,我的看法是,債務完全是壞的。我從不認為欠債是一種優勢。

直到我看到其他人是如何對待債務的——在我20出頭的時候——我終于知道了債務也可以是有益的。如果你能夠合理地承擔債務,那么之后你也能獲得成功。如果借助現在更好的上升空間可以加速你之后的成長,那么債務可以成為一筆巨大的財富。

代碼也是如此。有時它值得你現在承擔一點債務——錯過抽象或者有一些未優化的SQL代碼——如果這樣做可以讓你更快地發布內容給不斷增長的觀眾的話。關鍵是要了解你必須償還它,以及你可以在適當的時間段之后償還。

這就是債務在生活和編程中的竅門。償還債務需要持續進行。將一周10%的時間用于重構,相當于你是在按時支付編碼的信用卡賬單。如果你保持一種持續、可支撐的還債狀態,那么累積債務實際上對你是有好處的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    88

    文章

    3637

    瀏覽量

    93911

原文標題:17年編程生涯的三大經驗總結

文章出處:【微信號:edn-china,微信公眾號:EDN電子技術設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機設計與KeilC編程總結

    本內容總結了一些單片機設計與KeilC編程經驗規則來方面大家學習
    發表于 12-14 10:41 ?5588次閱讀

    單片機軟件編程的五大經驗

    經驗之一:用“軟件陷阱+程序口令”對付PC指針的彈飛經驗之二、不要輕信軟件狗經驗、話說RAM冗余技術經驗之四、話說指令冗余技術
    發表于 07-30 22:21

    電力設備高壓試驗方法有哪些?

    華天電力專業生產串聯諧振裝置,可進行各種高壓試驗。電力設備高壓試驗的方法有哪些?高壓試驗是檢測電力設備能否正常運行的一種常見且有效的手段,試驗方法當然也有很多,華天電力為您整理總結主要的
    發表于 11-01 10:11

    3種保護LED電路方法經驗總結

    3種保護LED電路方法經驗總結 1.保護LED電路中采用保險絲(管) 由于保險絲是一次性的,且反應速度
    發表于 11-14 09:57 ?666次閱讀

    線圈天線設計經驗總結

    線圈天線設計經驗總結
    發表于 09-12 17:21 ?224次下載

    PCB布線經驗(九大經典文檔)

    PCB布線經驗(九大經典文檔),PCB布線經驗(九大經典文檔)。
    發表于 12-25 09:54 ?0次下載

    PCB布線經驗技巧總結

    PCB布線經驗技巧總結,好東西,喜歡的朋友可以下載來學習。
    發表于 01-20 15:20 ?0次下載

    我和LabVIEW 一個NI工程師的十年編程經驗(PDF及實例程

    《我和LabVIEW:一個NI工程師的十年編程經驗》是作者在學習和使用LabVIEW過程中的經驗總結。書中由淺入深地對LabVIEW最常用的功能和LabVIEW學習過程中常見的問題進行了一一
    發表于 05-06 11:47 ?0次下載

    基于verilog的FPGA編程經驗總結

    用了半個多月的ISE,幾乎全是自學起來的,碰到了很多很多讓人DT好久的小問題,百度也百不到,后來還是都解決了,為了盡量方便以后的剛學ISE的童鞋不再因為一些小問題而糾結,把這幾天的經驗總結了一下。好了,廢話不多說,上料!
    發表于 02-11 11:22 ?1498次閱讀
    基于verilog的FPGA<b class='flag-5'>編程</b><b class='flag-5'>經驗總結</b>

    指針經驗總結

    指針經驗總結
    發表于 10-27 15:44 ?19次下載
    指針<b class='flag-5'>經驗總結</b>

    深度解讀PLC的編程實例及經驗方法總結

    PLC控制系統的輸入信號和輸出負載:繼電器電路圖中的交流接觸器和電磁閥等執行機構用PLC的輸出繼電器來控制,它們的線圈接在PLC的輸出端。
    的頭像 發表于 11-24 15:39 ?1.5w次閱讀
    深度解讀PLC的<b class='flag-5'>編程</b>實例及<b class='flag-5'>經驗方法</b><b class='flag-5'>總結</b>

    機器學習的12大經驗總結

    本文整理了關于機器學習研究者和從業者的 12 個寶貴經驗,包括需要避免的陷阱、需要關注的重點問題、常見問題的答案。希望這些經驗對機器學習愛好者有一些幫助。
    的頭像 發表于 12-13 15:29 ?2706次閱讀

    學習plc編程經驗總結

    我們以最熟悉的可編程控制器來說說如何進行理論學習和實踐操作。我認為學習編程軟件最重要的是理論和實踐相結合,特別是編程軟件很難通過只學理論就學會的,必須輔助大量的實踐,按時間上的分配來說應該是
    的頭像 發表于 10-19 09:25 ?4287次閱讀

    常用的種PLC編程方法

    常用的PLC編程方法經驗法、解析法、圖解法。
    發表于 05-03 17:45 ?7217次閱讀

    EMI整改經驗總結

    EMI整改經驗總結
    發表于 12-20 15:55 ?45次下載
    主站蜘蛛池模板: 特级做A爰片毛片免费69 | 99热这里只有精品9 99热这里只有精品88 | 亚洲成人mv| 亚洲欧洲精品A片久久99 | 公和我做好爽添厨房中文字幕 | 老妇xxxxbbbb| 欧美性爱 先锋影音 | 忘忧草秋观看未满十八 | 亚洲精品理论电影在线观看 | 国产精品无码久久久久不卡 | 正在播放一区二区 | 中文字幕AV亚洲精品影视 | 欧美日韩中文国产一区发布 | 中国农民真实bbwbbw | 蜜柚免费视频高清观看在线 | 免费看欧美一级特黄a大片 免费看欧美xxx片 | 多男同时插一个女人8p | 体育生爆操 | 成人免费观看www视频 | 明星三级电影 | 青青草原伊人 | 一本色道久久综合亚洲精品 | 亚洲国产日韩欧美高清片a 亚洲国产日韩a精品乱码 | 精品无码国产自产在线观看 | 99re久久免费热在线视频手机 | 欧美末成年videos在线 | 久久免费视频在线观看6 | 在线观看国产人视频免费中国 | 性夜影院爽黄A爽免费动漫 性夜夜春夜夜爽AA片A | 伊人久久大香线蕉综合高清 | 国产成人综合网在线观看 | s8sp视频高清在线播放 | 含羞草传媒在线观看 | 一二三四中文字幕在线看 | 中文字幕免费视频精品一 | 精品无人区麻豆乱码1区2 | 国产亚洲精品久久77777 | 麻豆国产MV视频 | 伦理片飘花手机在线 | 亚洲精品久久久无码 | 人妻熟妇乱又伦精品视频中文字幕 |