提高代码改造过程的小想法
最近幾天一直在思考一個(gè)這樣的問題,怎么樣才能讓制造工作快速高效的完成,并盡可能減少bug的存在。初始想法是源于自己的這次失敗,并不簡(jiǎn)單的是失誤。一大片的進(jìn)度延遲是誰也不想看到的,但也不是任何人都能在規(guī)定的時(shí)間能完成,這和個(gè)人的經(jīng)驗(yàn)以及熟悉程度相關(guān)。其中必然有某種關(guān)聯(lián),我能想到的有下面幾個(gè)方面:
1、進(jìn)度上
進(jìn)度上的超前安排是必須的,畢竟一個(gè)項(xiàng)目有其規(guī)定的納期,只有為各種難于預(yù)測(cè)的障礙提供足夠的時(shí)間緩沖才能保證時(shí)間上的可行性。同樣,在納期內(nèi)的合理調(diào)度也是我目前難以把握的,因此這一方面我無法提出合理的建議。
不過我倒是有一個(gè)大膽的提議,那就是由APP的實(shí)施者自己提供最遲的完成時(shí)間,綜合各方面的可能性提出的自我完成時(shí)間,想必是比較合理的,因?yàn)橹挥凶约鹤钋宄约嚎赡茉谀睦锘ㄙM(fèi)更多的時(shí)間。當(dāng)給出一個(gè)壓縮過的時(shí)間之后再由實(shí)施者自己提供的時(shí)間必然也是壓縮過的,但這是必要的,因?yàn)樗麜?huì)感覺到壓力的存在,并在可接受的壓力范圍內(nèi)作出調(diào)整。
來自外界的壓縮過的時(shí)間,特別是感覺到難以實(shí)現(xiàn)時(shí),會(huì)讓人不自覺的產(chǎn)生一種來自心理上的抵觸。可能表現(xiàn)的并不明顯,但不可否認(rèn)這是存在的。而自己給出的時(shí)間盡管也是壓縮過的,但因?yàn)槭亲约旱念A(yù)估,這種壓力更多的體現(xiàn)在盡力完成上。
上面的想法好像過于放松,畢竟這是理想狀態(tài)下的,難以顧全到大局,可行性也不曾得到驗(yàn)證,只能作為一種參考。可行性分析還要靠各位把握、分析的結(jié)果請(qǐng)告知,以便我了解自己的想法和事實(shí)的差距。
2、管理上
我們提倡輕松愉快的工作環(huán)境,這個(gè)環(huán)境的造就和維護(hù)就靠各位管理人員。誠(chéng)然,自由的工作環(huán)境更能培養(yǎng)出具有創(chuàng)造性的思維,這是項(xiàng)目中不可多得的機(jī)會(huì)。融洽的相處和定期的一對(duì)一交流更能把握好這個(gè)節(jié)奏。
一對(duì)一的交流會(huì)讓人有一種不曾被忽視的感覺,這對(duì)于員工的存在感有很大幫助。當(dāng)一個(gè)人有強(qiáng)烈的存在感時(shí)會(huì)有更強(qiáng)烈的自信的表現(xiàn),盡管可能我對(duì)此并不熟悉,甚至錯(cuò)誤百出,但這絲毫不影響其熱情。
而項(xiàng)目的進(jìn)展和個(gè)人的發(fā)展顯然是最好的聊天話題。不要認(rèn)為小兵就不關(guān)心項(xiàng)目,每個(gè)人都對(duì)自己的工作存在一種特殊的情感,這種情感在被得知對(duì)整個(gè)大局具有一定的完善和推動(dòng)作用時(shí)表現(xiàn)的尤為突出,這將形成一個(gè)自信心的良性循環(huán)。而個(gè)人的發(fā)展更是每個(gè)人都關(guān)心的重要方向(不排除有人不關(guān)心),目標(biāo)管理也是一個(gè)很好的載體,但畢竟沒有面對(duì)面交流來的真切。幫助員工分析其期望的發(fā)展以及可以提供的機(jī)會(huì)更容易拉近彼此的距離,產(chǎn)生師生活朋友般的交流效果。越是有經(jīng)驗(yàn)的leader越能把握好這個(gè)度,不然很可能經(jīng)過一席談話,“送”走一位您想挽留的人。
公司的發(fā)展方向決定了部門的發(fā)展趨勢(shì),部門的發(fā)展趨勢(shì)決定了部門內(nèi)部員工的發(fā)展,當(dāng)二者出現(xiàn)重大沖突的時(shí)候謊言顯然是出不可取的,因?yàn)檫@降低的將不僅僅是對(duì)公司的認(rèn)可,更可能是對(duì)管理者的抵觸。個(gè)人的發(fā)展是多方面的,也是多途徑的,或與與其最終的結(jié)果不同,但方向可能并無太大偏差。而如果絲毫沒有相同之處的話也需要給予充分的指點(diǎn),我想這是作為一個(gè)領(lǐng)導(dǎo)者的職責(zé)。
而管理上的具體的實(shí)施,恐怕也只能是我的一種猜想,畢竟我不是管理者,雖然我期望早日成為。和進(jìn)度上的安排的認(rèn)識(shí)一樣,不論這樣的認(rèn)知是否可行,還請(qǐng)給予指正,畢竟這也是管理者的職責(zé)之一:關(guān)注每一個(gè)員工的思想動(dòng)態(tài)。
3、自己
員工個(gè)人的做法才能真正決定項(xiàng)目的進(jìn)度,畢竟通常情況下管理者是負(fù)責(zé)協(xié)調(diào),而不是實(shí)施。員工的個(gè)人行為可能決定了項(xiàng)目組的環(huán)境,當(dāng)然這一切還是可控制的。
終于說到自己更為熟悉的部分了。我先說一下我自己的做法,再說自己的拙見。
(1)、拿到式樣書時(shí)
最初拿到式樣書的是我我習(xí)慣性的會(huì)通篇看一下,以判斷工作量的大小。個(gè)人感覺工作量的大小并不取決于代碼行的多少,更多的是依賴于業(yè)務(wù)的復(fù)雜性,上百行的賦值和比較并不比十?dāng)?shù)行的check復(fù)雜。個(gè)人感覺上是:通常情況下的單純的刪除操作時(shí)最為簡(jiǎn)單的、其次是單純的功能增加或完善(例如添加CSV輸出或者在其中增加幾行界面上以存在數(shù)據(jù))、業(yè)務(wù)的修改和完善則相比會(huì)更復(fù)雜一些(即便只是增加不多的功能也需要盡可能的完整了解此業(yè)務(wù))、新規(guī)的部分則由業(yè)務(wù)的復(fù)雜度、明確程度、使用范圍來決定其工作量大小
(2)、式樣理解
也就是業(yè)務(wù)軸review,很容易被忽略的一個(gè)環(huán)節(jié),同時(shí)也很難把握,能把過程說的很清楚明白的并不多,除非是在完成此本APP之后。不同經(jīng)驗(yàn)的SL把握的情況也不盡相同,時(shí)間和經(jīng)驗(yàn)的限制致使我們無法充分進(jìn)行此部分的review。個(gè)人感覺大的方面可以把握為:邏輯上的變化、畫面上的變化、數(shù)據(jù)的變化。
邏輯上的變化一般來說是比較少的,如果有的話想必就是一本比較大且復(fù)雜的了。如果是邏輯上的變化,那么此本APP還是建議全部理解為妙,不然倉(cāng)促下手會(huì)造成極大的返工,理解的細(xì)致程度還由個(gè)人把握,建議的標(biāo)準(zhǔn)時(shí)能畫出數(shù)據(jù)流圖。
畫面上的變化一般是顯示內(nèi)容的增刪改,增和刪只要小心一些一般不會(huì)造成太大失誤,而修改的話可能會(huì)帶來界面布局和部分空間屬性的變化,稍加注意也不會(huì)有太大問題。
數(shù)據(jù)的變化主要關(guān)注一下修正部分的數(shù)據(jù)以及PL/SQL文是否變更即可。
(3)、是否存在技術(shù)上的難點(diǎn)
上面的式樣理解是拋開了技術(shù)問題的。畢竟這是強(qiáng)制性的變化,式樣理解和實(shí)現(xiàn)是有一定的差距的,技術(shù)上的難點(diǎn)也是相對(duì)于陌生的操作和可能出現(xiàn)的邏輯性代碼。此時(shí)不見得能或需要解決,只是做到心中有數(shù),以決定后續(xù)需要花費(fèi)多少時(shí)間來解決。
(4)、代碼制造
刪除項(xiàng)目是比較簡(jiǎn)單的,在確保沒有其他變更的情況下注釋掉實(shí)現(xiàn)此功能的代碼,并解決由此產(chǎn)生的錯(cuò)誤。我們可以直接注釋是因?yàn)閺?qiáng)大的開發(fā)工具會(huì)進(jìn)行自檢,需要注意的是:是否有其他操作(數(shù)據(jù)庫(kù)訪問、文件輸出)使用到刪除的數(shù)據(jù),并確保已經(jīng)按照式樣書處理。
增加功能則不太好描述了,視增加的內(nèi)容不同而不同。簡(jiǎn)單的增加數(shù)據(jù)項(xiàng)和check處理則相對(duì)簡(jiǎn)單一些,只需要按照式樣書的要求進(jìn)行,一般不會(huì)出現(xiàn)過于嚴(yán)重的bug。業(yè)務(wù)上的添加可能就相對(duì)復(fù)雜,不過上面已經(jīng)畫過數(shù)據(jù)流圖了,了解數(shù)據(jù)的走向之后應(yīng)該會(huì)變得輕松一些。
關(guān)于這一部分是很難把握的。因?yàn)榧夹g(shù)上的難點(diǎn)和理解上的誤區(qū)在此變得無處遁形,他可能是你原地踏步或者兜圈子。技術(shù)上的難點(diǎn)在明白需要知道真正該問的是什么之后倒也不是太難解決,如果是理解上的誤區(qū)可能會(huì)花費(fèi)更多的時(shí)間,雖然我們提倡不會(huì)就要問,但是很多時(shí)間也會(huì)出現(xiàn)不知道該問什么的情況。
制造期間的任何不曾被注意到的問題都可能成為一個(gè)巨大的問題,因?yàn)樗璧K了程序的正常運(yùn)行。于是這一階段會(huì)比預(yù)期看上去漫長(zhǎng)和進(jìn)展緩慢的多。我很贊成為每一個(gè)曾經(jīng)出現(xiàn)的出人意料的問題建立一個(gè)資料庫(kù),以便其他人遇到同類問題時(shí)能迅速解決,不過問題的種類是那樣的繁多,完善的問題庫(kù)可能像MSDN一樣龐大,而且需要花費(fèi)的時(shí)間也非我們能夠承受。我們只好慢慢成為“見過類似問題、做過類似問題”的經(jīng)驗(yàn)者。
這一階段就是成為經(jīng)驗(yàn)者的必經(jīng)之路,小心謹(jǐn)慎、遭遇問題、試圖解決、尋求幫助。看起來很簡(jiǎn)單,做起來真頭疼。
(5)、自己review
這一部分的重要性也是不言自明的。合理的安排是:自己測(cè)試同制造有相同的時(shí)間,不過這點(diǎn)事很難做到的。我們總是盲目相信自己的成果物,以至于絕大部分的問題都是別人發(fā)現(xiàn)的,不容易產(chǎn)生遺漏的做法是:復(fù)制出來一本式樣書,一點(diǎn)一點(diǎn)的對(duì)應(yīng)下去,并改變對(duì)應(yīng)過的背景顏色,就像測(cè)試一樣,不過相對(duì)簡(jiǎn)陋的多,這樣至少保證不會(huì)出現(xiàn)顯而易見的錯(cuò)誤。這樣可能會(huì)出現(xiàn)很多測(cè)試不到的地方,畢竟你并沒有對(duì)式樣進(jìn)行深入的分析,只要這個(gè)點(diǎn)不是變更內(nèi)容,十有八九是可以無視的,新規(guī)制造不在此列。
(6)、差分
這真的是一個(gè)不錯(cuò)的辦法,除了花費(fèi)一定的時(shí)間,但是這對(duì)于小小的錯(cuò)誤是很好的自檢辦法。畢竟你我都不希望僅僅因?yàn)橐粋€(gè)被忽略的小錯(cuò)誤而多出一張障礙票。
似乎沒有足夠的時(shí)間很難保證質(zhì)量地完成上面的一系列操作,這點(diǎn)我也贊同。只是這個(gè)很必要,也會(huì)在之后減少不必要的返工。
End?Sub
回看上面所言,似乎有些籠統(tǒng),但是這個(gè)對(duì)我來說真的很難表述清楚,或者說要表述清楚的話需要重寫幾本類似于《需求分析》、《可行性分析》、《Thinking?in?Java》的書了。目前沒有如此想法,各位都是從開發(fā)者中來,希望以上所言能起到拋磚引玉的作用,我們都想把項(xiàng)目做好,雖然我們的能力著實(shí)有限。若是各位老大能夠總結(jié)某些經(jīng)驗(yàn)并實(shí)施,相信會(huì)有好的作用的。
轉(zhuǎn)載于:https://www.cnblogs.com/jzzlo/archive/2012/03/21/2409115.html
總結(jié)
以上是生活随笔為你收集整理的提高代码改造过程的小想法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 知识管理项目简述
- 下一篇: 浅谈自考学习方法(二)