溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

以做產(chǎn)品的思維優(yōu)雅的寫代碼

發(fā)布時間:2020-03-03 18:48:32 來源:網(wǎng)絡(luò) 閱讀:390 作者:aaron2018 欄目:軟件技術(shù)

最近做了一次有關(guān)如何做產(chǎn)品以及培養(yǎng)產(chǎn)品思維、產(chǎn)品Sense的培訓(xùn),首先看下產(chǎn)品的定義:能夠發(fā)布到市場,能夠滿足市場或某些人、某些場景的需要,我們都可認(rèn)為是一個產(chǎn)品,產(chǎn)品可以是任何東西,一個杯子、一個軟件系統(tǒng)、一個人都可以是產(chǎn)品,只要它滿足了某些需要。因此,程序員開發(fā)一個程序,寫一段代碼其實(shí)也是一個產(chǎn)品,需要寫出優(yōu)雅的代碼、易用性高的代碼、可維護(hù)性高的、健壯性高的代碼,這些都是與產(chǎn)品的要求是一致的。

       下面我們采用建設(shè)產(chǎn)品的思路來理解如何優(yōu)雅的開發(fā)代碼,也回想下產(chǎn)品的用戶需求$Appeals方法。

      一、明確用戶:產(chǎn)品首先要明確產(chǎn)品的用戶或者使用者是誰,程序員開發(fā)的一個程序,它的用戶可能是我們公司的外部客戶,或者是公司的其他部門;對外提供的一個接口、一個方法,它的用戶可能是其他的相關(guān)系統(tǒng),可能是坐在你身旁的另一個程序員。那么用戶不同,用戶的特性、特點(diǎn)不同、性格不同、習(xí)慣不同,程序員要清晰的知道自己的用戶以及用戶的特點(diǎn)。

      二、產(chǎn)品定位: 產(chǎn)品要有自身的產(chǎn)品定位,我們開發(fā)的可能是一個底層基礎(chǔ)平臺、一個CBB、一個服務(wù),那么他們的產(chǎn)品定位簡單來說就是為應(yīng)用系統(tǒng)提供基礎(chǔ)組件、基礎(chǔ)服務(wù)的,是能夠讓應(yīng)用系統(tǒng)更快、更簡單的進(jìn)行開發(fā)的。

      三、提升產(chǎn)品的競爭性:我們說用戶的特點(diǎn)是懶的、多變的、可怕的、不愿思考的,因此程序員開發(fā)出來的代碼,提供的服務(wù)也要解決用戶這些特性,這樣你的程序才會有人愿意使用,也更是體現(xiàn)你自己的競爭力

      1、P包裝:給你的程序、類、目錄、文件等起一個漂亮的名字

      2、E易用:

            1)簡潔、易懂,如類名、方法名,應(yīng)該盡量簡潔,不要搞個幾十個字符來表達(dá)(畢竟用戶是懶的),并能讓你的用戶輕松的理解他的含義,不需要去思考,不需要來問你是什么意思;

            2) 無二義性:正確的命名,通過名稱能完整、正確的表達(dá)你提供的服務(wù)功能,不要有二義性,如HTTP協(xié)議就提供了簡單的Put、Get方法,字面意思非常清晰;

            3)正確的注釋,注釋的內(nèi)容要與方法或類提供的服務(wù)一致,不能產(chǎn)生二義性或者被誤解,否則莫不如不寫;  

       3、A安全/質(zhì)量:提供安全、穩(wěn)定的代碼,并能準(zhǔn)確的記錄相應(yīng)的日志,方便定位問題,響應(yīng)用戶的投訴、問題的解決;

       4、A可獲得性:將所有對外提供的服務(wù)和內(nèi)部使用的服務(wù)分離,只暴露對外服務(wù)接口,將對外接口統(tǒng)一封裝在API包中,讓用戶可以很容易的獲得他們需要的服務(wù);

       5、L生命周期成本:程序的健壯性、性能、技術(shù)的前瞻性等都決定了你的程序能夠使用多久而不被新的技術(shù)、新的組件所淘汰;另外,對外提供的平臺、組件、服務(wù),后期都是需要你來維護(hù)的,因此需要考慮、設(shè)計如何方便你來維護(hù)這些代碼,如代碼的簡潔、邏輯清晰、完整的log記錄等。

       6、S社會接受程度:你的代碼能被其他系統(tǒng)和其他開發(fā)員接受嗎?還是被說成一塌糊涂?相信很多程序員都曾經(jīng)罵過他們的前任程序員,如何將一堆垃圾代碼留給你維護(hù)的。

       四、產(chǎn)品規(guī)劃:不同的階段、不同的現(xiàn)實(shí)環(huán)境,實(shí)現(xiàn)不同的需求,需求需要排序。那么寫程序也是如此,在初期,應(yīng)該先把整體框架搭建出來,包括響應(yīng)的模塊包、包路徑、包結(jié)構(gòu)、類名、接口名、接口方法名等,可以使用Eclipse工具直接開發(fā),也可以使用PowerDesign、UML等代碼設(shè)計工具進(jìn)行設(shè)計。這相當(dāng)于快速做產(chǎn)品的原型,讓用戶知道你的產(chǎn)品,并能快速反饋是否滿足需求,

       五、產(chǎn)品開發(fā):在產(chǎn)品框架搭建完成后再做具體的接口實(shí)現(xiàn)類、具體的方法實(shí)現(xiàn),相當(dāng)于產(chǎn)品的開發(fā)階段。不同模塊分工協(xié)作,并行開發(fā),提升開發(fā)速度。

        OK,寫代碼還是那么枯燥嗎?不,寫代碼可以很優(yōu)雅,當(dāng)做藝術(shù)來設(shè)計,像開發(fā)產(chǎn)品一樣開發(fā)出一件偉大的作品。如何提升寫代碼的樂趣,如何提升寫代碼的能力,這要看你如何思考。把你的代碼當(dāng)成產(chǎn)品、當(dāng)成項(xiàng)目來看待吧,就像談戀愛也是一個項(xiàng)目一樣。

--------------------- 本文來自 ice_fire2008 的CSDN 博客 ,全文地址請點(diǎn)擊:https://blog.csdn.net/ice_fire2008/article/details/82926029?utm_source=copy 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI