⑴ 程序員不小心刪除了自己的代碼是啥體驗
刪了不可怕,可以找回,可怕的是刪了後又手賤在上面寫了幾句,那就完了,全被覆蓋了,只能自我安慰了,大不了重頭再來。
⑵ 程序員真的會覺得寫代碼比女朋友重要嗎
答案肯定是否定的婚的時間比我還要早,而且夫妻兩個人每天都會秀恩愛。婚的時間比我還要早,而且夫妻兩個人每天都會秀恩愛。在程序員哪裡寫代碼只是自己的一個簡單工作,如果讓他們加班,那感覺比殺了他們還要難受。畢竟代碼千千萬,女朋友可只有一個,而且就目前的就業形勢來看,碼農的工資水平可不足以讓女朋友對自己10萬個放心。
他這樣的工作強度持續了大概有一年半的時間,之後工作穩定就不再做這樣高強度的工作,而是比較正常的休息。畢竟那個時候剛畢業工作不穩定,需要拼一拼,現在穩定了誰也不會把自己的命賣在工作上。
⑶ 無代碼時代來臨,未來還需要程序員嗎
科技的發展是一個永恆的話題,現在的大數據,軟體,電子產品等等都涉及到科技,而其中的關鍵點就在於程序的編寫,而程序員就顯得很是重要了,而現在很多人討論無代碼時代來臨,未來還需要程序員嗎?答案肯定是需要的,不然無法創造出更強更優秀的代碼,我們來看看分析。
而高級程序員本身的意義是遠超過無代碼的,他們需要攻克技術的難關,就比如華為5g網路演算法突破就是一個俄羅斯小伙給破解出來的,還有淘寶如此大的平台人流量如此恐怖,也是靠程序員優質的大腦計算分析改善的代碼,才能夠保證在雙11平台伺服器也不會崩潰,一樣保證我們的正常運行,這些都是程序員才能去做到的事。
⑷ 大家怎麼理解「業務代碼」為什麼有人覺得寫業務代碼很low
在我眼裡,也經常會把程序員分成兩類:一種是我等這種寫業務代碼的程序員,另外一種是研究高深演算法、造「輪子」的「科學家」...
將他們稱之為科學家是有些誇張,第一次冒出這樣的想法是參加一個技術大會,當別的嘉賓都在分享開發、設計、架構、管理方面的經驗時,一名在騰訊工作的演算法工程師(應該已經是一個小領導了),他上台分享了一些諸如:滑動平均自回歸模型、神經網路基因表達式編程、SVM回歸機集成學習...坐在台下的我第一次冒出這樣的念頭:「這**是科學家研究的東西吧。」
當然,倒也不能說寫業務代碼就很 low,寫業務代碼也不是想像中那麼簡單的。
寫業務相關的代碼,必須了解業務流程,還需要了解業務人員心裡是怎麼想的,也就是業務出發點是什麼樣子的。
比如我最近遇到一個需求,過程大概是這樣的:銷售人員在賣一款產品,這款產品非常火,有些優秀的銷售人員一周可能能賣出去幾百上千單;結果我們接到一個需求,要限制每個代理人的銷售數量,比如每人只能賣 10 個(之前已經賣掉的不算);這就讓我們非常奇怪,本來賣的好好的,為什麼要做這個限制呢?這個需求看起來就非常的不合理。
後來業務人員和我們解釋了一下原因:因為這款產品公司不掙錢,銷售人員為了推這個產品,花在別的產品上的時間就少了,所以出這個功能,就是讓銷售人員「收收心」,把精力放在其他產品上。
這么一解釋,我們就立刻明白了;所以如果你不明白業務的時候,看著需求敲代碼也是非常容易出錯的。
有些人會認為業務邏輯就是一堆 if-else,但是我認為在實際工作中,這些 if-else 也是非常難做到的。
業務邏輯是人設計的,業務邏輯難不可怕,可怕的是它不嚴謹和變化快;業務邏輯和那些確定性的東西不一樣,比如我們寫好的代碼 if-else 兩個分支,那麼再怎麼也不會跳出這個范圍,業務邏輯就不一樣了,它是非常靈活的、不確定的,業務機會來的快消失的也快,我們很難開發出來一套全面的、完善的、靈活的的系統,去應對將來可能會發生的需求。
所以在開發過程中,如果可以將業務流程拆分成多個組件模型,組件和組件配合完成一個完成的業務流程;當業務發生變化或有新業務的時候,只需要重新編排這些組件,或對某一個組件做少量更改,就可以滿足業務變化;如果能做到這個程度,也是非常不容易的。
在這個過程中,你需要做到高內聚低耦合,避免過度抽象,從業務流程和動機出發,已滿足業務需要為主;既然做不了「科學家」,我們就努力把業務代碼寫好把。
首先,我認為寫業務代碼不「low」,但是大部分不假思索拷貝粘貼的業務代碼比較「low」,換句話說就是所謂的五年工作經驗就是把第一年的工作重復了五遍。
技術人員成長一般有兩條線,一條是成為技術專家,一條是成為領域專家。所謂的轉管理我理解也就是領域專家,畢竟不懂得領域知識是無法做好管理的,比如說你是互聯網金融某個業務部門的leader,那麼你肯定要懂金融。領域知識就是在不斷的寫業務代碼和思考中積累起來。
還有一個問題就是如何定義業務,比如說「實現一個修改訂單功能」,這是一個業務需求,看起來很low,但是如果業務需求改成「實現一個修改訂單功能,要求在有限資源的情況下並發10k,響應時間不高於10ms」,那這個需求就有挑戰。說這個問題想說明白一件事情,如果做業務不要停留的在業務表面,僅僅滿足於實現功能,要主動思考。
最後總結一下,沒有最好的技術,只有最適合業務的技術。技術是內功,業務是招式,內功不足,後續成長乏力,沒有招式,內功也不能發揮威力。這是也很多互聯網創業公司做大了之後要技術轉型的原因。
作為一個程序員,我也是寫代碼的,我不覺得寫業務代碼很low。
1.首先大家所認為的業務代碼就是一些和業務相關的增刪改查,涉及到的技術點相對來說是固定的,寫熟了之後,就是復制,粘貼,不存在什麼技術阻礙,很多人就覺得非常的簡單,沒有技術含量,做這些工作的人也顯得非常的low,如果你也是這樣認為的,那你就錯了,因為寫業務代碼的基本都是初級,中級的程序員,工作經驗有限,不具備寫一些公共方法和介面的能力,但是並不代表以後能力不會提升,如果持續努力,也會成長為高級程序員或是架構師,誰天生就是高級程序員呢,不都是一點點積累起來的嗎?而且就算是寫業務代碼也不能就是low呀,有些業務場景是非常復雜的,邏輯必須十分嚴謹,稍有差錯可能就會出現bug,對公司造成巨大的損失,不是寫業務代碼就是很容易的。
2.除了業務代碼就是非業務代碼了,比如開發資料庫,開發框架,或是寫一些公共的方法或是介面,供初級開發者調用。寫非業務代碼的人技術也不一定就非常的厲害,因為就算是開發框架或是資料庫之類的項目,也不一定都是高級開發,也會有一些水平較低的開發,因為寫業務代碼還是非業務代碼和項目也有關系,如果你們團隊開發的是開發框架或是資料庫這種的項目,那麼你們團隊沒有人寫業務代碼,也不能說明你們團隊每個人技術都很厲害,只是項目性質不一樣罷了。
3.業務代碼這個詞看你的理解吧,我認為其實所有的代碼都可以成為是業務代碼,無論開發什麼產品,都是有業務需求的,有了需求才有開發的動力,對於開發資料庫來說,資料庫的需求就是業務,對於開發框架來說,框架的功能就是業務,所以我認為廣義上來講都是業務代碼,沒有非業務代碼這一說,所以具體看你認為業務的定義是什麼了。不過無論如何也不應該去嘲笑或是去貶低別人吧,嘲笑或是貶低一類人就更不應該了。
業務程序開發相對於底層基礎架構層的程序開發有所不同:
業務開發的時間比較緊,變化快。
這個特點導致程序員沒有時間重構代碼,或者不願意重構代碼,而是用最簡單粗暴的復制黏貼的方式快速實現業務邏輯。其實所有的復制黏貼都意味著需要重構。
底層系統的開發,一般是架構師和高級程序員來設計和控制項目時間。相對來說,開發周期長,變化緩慢。會更加註重架構的合理性和穩定性,而且會不斷重構和改進。
業務開發一旦完成,只要平穩運行就不會有人再回來補技術債務,不會把它寫得更好。除非這個業務爆發了,不得不從新架構以支持更高的並發。如果上線之後表現不佳,很可能下線不再維護。所以公司也不太願意花太多精力在一個還沒有被市場認可的產品項目上。
而底層架構框架的項目會在不同的產品項目中不斷應用。不斷地進化。就像Spring之類的開源框架一樣,不斷的升級和完善。
相對來說,業務開發程序員會花大量的時間學習和理解業務知識;而底層框架程序員更多的時間在學習技術架構。如果業務知識在行業內通用,比如財務,金融行業知識。那麼長期的積累對業務開發也是很有幫助的。如果業務是很小眾的,甚至,這幾個月做這個業務,下半年又做另一個業務,做的時候也一知半解,就像很多外包一樣,那就沒有什麼業務沉澱了。
我就是寫業務代碼的,不過我覺得這很正常啊,不知道你是怎麼就覺得low啦?
所以,做為一個企業,支撐發展的肯定是他的業務,不管是賣什麼服務,都要通過業務來賺錢,可能針對業務,企業內部還會做一些細化。比如說,有人會是做一些前端,一些人做後端,還有運維,運營,產品的配合。前端再細化,一部分人會做一些頁面的展示,呈現,還有一部分人會做一些適合業務的工具,來提升開發效率。
那如果你自己的定位是只是單單寫頁面的,那隻能說你對自己的要求有點低,你沒有去考慮如何做一些提升工作效率的事情。舉個例子,比如說常見的後台管理系統,因為功能都很類似的,那你有去考慮如何做一個通用的模版嗎,還是就是不斷地去重復。
這個別人的產出,做了一個vue的後台管理系統的模版,現在的GitHub star在6萬多,通過這個項目,他就可以得到更多人的認可,也能得到更多的好的工作機會。
所以,不要覺得業務代碼就是low的,要善於去總結,然後再分享自己的經驗,沒准你也能成為一個領域內的Top。
不要太在意所謂low與不low,需要在意的是做了這個項目或業務後,對自己的能力有沒有長進,如果有,那說明不low。如果沒有,那說明你只是在機械的勞動而已。
每個大佬都是從業務代碼做起的,大佬們注重的是能否成長,學習實踐的機會,以及平台的大小和未來是否和自己的目標相匹配。
總結來說,只要能提升自己能力的任何工作,都是值得的。
我覺得首先大家要理解什麼是「業務代碼」,業務代碼是一個相對的概念。
1.對於一個一般的物聯網應用型公司來說,業務代碼就是根據客戶需求基於一個MCU或者MPU的應用控制邏輯的實現。
2.對於一個做純上層應用的公司來說,業務代碼就是基於一個操作系統為客戶量身定製對應的app,並實現對應的應用邏輯。
3.對於一個微型控制器設計廠商,業務代碼就是底層架構裸機的具體實現和各個外設驅動的框架設計。
4.對於一個設計操作系統的開發人員來說,業務代碼就是架構設計、內存管理、調度機制優化、優先順序管理、進程間通信機制優化、線程管理和內核完善等等。
所謂」業務代碼」都是相對的,沒有參考系怎麼談。像操作系統,站在操作系統內核提供方的角度看,上層所有的應用框架,進程服務,都是業務代碼,我是為他們服務的。技術只是工具,業務實現才是目的,站在不同供應商的角度,只要涉及代碼的地方都可以稱之為業務代碼。所以站在這個維度,如果要說業務代碼「LOW」,那就沒有代碼是不"LOW"的了。
不過,真正接觸底層或者實現RTOS底層業務框架的工程師其實是很少的。大部分工程師基本上都是對於客戶需求做一些非驅動底層非操作系統框架的應用型的開發,所以大多時候「業務代碼「又單一的被指向了那些只是對客戶的上層應用的需求做開發、調整或者迭代的代碼。
而這部分代碼究竟"LOW"還是不"LOW"呢,我的答案是:不"LOW"。但是現實卻是很「LOW」,之所以會被想成LOW,是因為:
1.判斷一個程序員的優秀程度已經不單單看你寫了多少應用型的代碼,設計了多少應用框架,而是你懂不懂底層驅動邏輯,懂不懂操作系統內核,懂不懂內核裁減等等。所以這種情況會經常出現在面試過程中,面試官會因為你不懂底層驅動、不懂內核而給你比較低的薪水。
2.懂得寫業務代碼的人,他的程序員基礎並不一定就牢固。因為上層應用可能對業務比較看重,但是對於一些特定的語言的編程並沒有那麼嚴謹。能用就可以,所以會自然而然的認為這樣的程序員「LOW」。而一個會寫底層驅動的人,他考慮更多的是基礎代碼的安全、嚴謹性和容量問題等等,他們的語言基礎相對來說要牢固很多。
3.技術負責人一般都是全能型的人。會寫底層驅動或者更懂操作系統內核的人更容易成為技術的領頭人。而那些只會「業務代碼」的人,放在大部分公司,一般都不會有太多的上升空間。
根據以上分析過後呢,做「業務代碼」的程序員基本上會被想的很「LOW」,但是結合我的親身經歷,不同的人對於這個事情卻會有不同的看法。
比如對於領導來說,那就不一樣了。你將「業務代碼」的需求迭代了,完善了,提前任務完成了,客戶很滿意。那領導不會認為你是一個很「LOW」的程序員。你很高級,領導很欣賞,「後果」很舒服。但是對於一個面試官來說,你就會點上層應用的調用和設計。我為什麼要給你這么多薪水?雖然會被想成很"LOW",但是也是現實。
業務代碼不一定low,能完成用戶需求的代碼就是好代碼。
另外,對於我們搞嵌入式軟體、EDA工具軟體的來說,業務軟體反而是更有技術含量的,更具科學意義的代碼,而軟體可能只是載體,你啥時候透過代碼理解了它們背後的物理概念、數學公式,你就超越了程序員,能向科學家又邁進一步。
互聯網軟體其實也一樣,軟體實現的是一個業務流程的自動化,你完全可以透過你寫的程序還原甲方用戶的業務流程,而這種流程是老闆制訂的,認識會上一個層次,將來可以向老闆邁進
我發現很多程序員對於處理業務邏輯都是「嗤之以鼻」。感覺自己天天寫業務邏輯代碼,改 Bug 都沒有時間學習,沒有時間實現個人成長?
但是,作為程序員來講,如果不是做底層基礎技術研發的話,大部分的工作不就是做這些擰螺絲的工作嗎?其實擰螺絲有那麼容易嗎?可能擰螺絲很容易,但是擰好螺絲就不那麼簡單了。
別小瞧業務邏輯代碼,如果真正寫好,要把邏輯寫得清晰簡單易用,功能健壯穩定,性能同時達到要求的話,其實是挺難的。
其實很多程序員都跟他一樣,都在痛苦的編程,一方面對自己有更高的要求,一方面又嫌棄現在寫的代碼沒有技術含量。又有更高的要去和希望,又嫌棄現在的工作,就是不思考出現的原因,不去付諸行動。還不停的抱怨: 感覺自己天天寫業務邏輯代碼,改 Bug 都沒有時間學習,沒有時間實現個人成長?
到這里,我們不禁一問:那我們該如何擺脫這種現狀呢?其實很簡單,我們應該擺正自己的態度和觀點,正確看待寫業務邏輯這些代碼就行了。
堅持不懈的寫好業務邏輯代碼
就像我在上面說的: 別小瞧業務邏輯代碼,如果真正寫好,要把邏輯寫得清晰簡單易用,功能健壯穩定,性能同時達到要求的話,其實是挺難的。
所以,我們要正確看待寫業務邏輯的代碼,應該擺正心態,堅持不懈的去寫,所謂量變引起質變,就是這個道理。寫業務代碼,積累代碼量,一力降十會,在積累了巨量的代碼量之後,幾乎任何所謂的有技術含量的東西都構不成挑戰性。當然,要想真正的通過自己寫業務代碼,寫好業務代碼還應該有接下來的這個思考。
其實業務邏輯代碼一樣可以玩出很多花樣,而這才是能夠提升你能力的本質。比如:你寫了一個處理單任務的業務邏輯,雖然滿足了用戶的需求,但是你這時能不能對自己有一個更高的要求呢?單任務雖然是功能實現了,但是效率可能不行,處理慢,那搞個多任務處理的邏輯怎麼樣?任務池、線程池、內存池、並發、同步等等這些技術點都來了。如果你對自己有這樣的要求,而你自己有追求的話,就會進一步思考如何去做到這些,你做到了,你能力就提升了。
同樣,很多人感覺處理業務邏輯,就是一些各種循環,條件判斷,只要邏輯稍微嚴謹點,功能就都沒問題,就都實現了,確實是這樣的。這就是你對於業務邏輯沒有興趣的根點所在。
那你為什麼不想想: 如何使用循環和條件判斷可以提升效率呢?滿足了功能的那些需求,是不是有些地方可以優化一下呢?是不是可以提升一下性能呢?
其實,這個技術的進步和積累,就在於自己內心對自己有沒有更高的要求和追求。這是大實話,也是大白話。很多人就感覺只要實現了功能需求就夠了,滿足了用戶就行了。然後,這個項目完事了,下個項目遇到差不多的邏輯,還是這么處理,又完事了,每個項目,每個功能都是這樣重復的處理,從來不思考最優的實現方式,你感覺能夠進步嗎?你能不煩氣嗎?十年如一日的工作,10 年也就積累了一年的工作經驗,在重復使用。
業務邏輯的最優方式,就是思考如何大道至簡
通過一個業務邏輯實現一個功能,基本上只要是程序員,腦子不笨,都能做出來,做出來是一回事,但是做好是另外一回事。大道至簡,我們要做就得想辦法做到最好。這里的好有很多層意思。
比如: 你寫的業務邏輯代碼 是否能夠做到准確,穩定,高效,易讀,易擴展,易維護,兼容性強呢? 問自己一句,如果你能做到這些,那確實是好。如果做不到,你還是處理初級水平,當然不行,這就是你在工作中提升能力的機會。別說沒時間,都是借口。
精益求精是對代碼大道至簡的永恆的追求,也是我們在處理業務邏輯代碼中不斷提高自己能力的過程。
明明自己水平初級,就容易驕傲自滿,感覺可以了,我想學更高的技術,那麼更高的技術是自己在處理業務邏輯中一步一步積累出來的,不是幹了初級的活,不用積累,直接學高級的技術,就能高級了。
我特別喜歡網上有個網友寫的一段話:
其實很多技術大牛和技術專家,都是從業務邏輯做起,慢慢積累思考起來的。比如:在處理業務邏輯之前,會思考如何設計這個架構,可以讓代碼更好的擴展和維護。在處理業務邏輯的時候,思考如何的處理才能提高性能和效率?一步一步的實驗和總結,積累,才成就了今天的成績。
所以,不要對處理業務邏輯嗤之以鼻,不要以為能夠滿足需求就夠了。你重復不思考的粘貼和復制肯定是不行的,必然會對編程失去興趣,自然無法更好的成長和進步。應該在編程的過程中追求更高的要求,尋找更高的興趣,這樣才能讓你持續進步,從而進階。
林子大了什麼鳥都有,不知道你說的有人是指多少比例的人。我的理解代碼可以分為兩類:1:工具欄或者框架類2:業務類。寫工具類偏重於健壯可拓展可復用;寫業務類偏重於邏輯嚴謹沒有漏洞,化繁為簡。畢竟有些時候需求或者業務都不甚清楚他們想要的邏輯。有時候復雜的業務流程你捋都不順,更別說代碼寫的好了。當然,工具類到高深,工具好用,框架優秀確實需要的技術功底深厚,比業務類要考慮的東西也多,但不代表寫業務類代碼很low。當然,不管寫什麼代碼,完全復制黏貼而不去考慮與實際場景結合,不去想為什麼?有沒有更好的處理方案是比較low的
⑸ 作為程序員沒代碼可寫是一種什麼體驗
作為程序員沒有代碼可寫,就好像作為游泳教練沒有學員可教一樣,總覺得少了點什麼,總是感覺不得勁,有代碼可寫的時候覺得煩,沒有代碼可寫的時候又覺得無聊,就是這樣的一種糾結和無奈吧!
⑹ 程序員的代碼潔癖在什麼情況下是一種惡習
當你把【代碼清潔】當作目的時,就是惡習了。為什麼會存在代碼潔癖,究其根本,是我們對「維護代碼」這種讓人抓狂的事情的實際需求,讓我們越來越注意到清潔的重要。比如說 1 == a 這個,如果從來沒有把 a == 1 寫錯成過 a = 1 導致你調式很長時間過,恐怕這個人能難把這個納入到他的潔癖范疇內,即使他對空格的使用要求近乎苛刻。在我的圈子裡面,一直有很多搞單片機的的。這些人主業是做電子甚至是機械的,當需要一個控制器的時候,會用單片機寫一些非常小的程序來實現控制。我發現在這個圈子裡面,就幾乎沒有代碼潔癖的人,別說潔癖了,代碼的基本清潔都看不到,即使這個人在做電路板的時候一板一眼。為什麼?因為沒有需求,代碼本身長度都很小,而且都是寫過無數遍的基本套路,甚至大段大段的代碼都是用輔助工具直接生成的;這些代碼對他們來說,多亂都很難寫錯,並切,最重要的,這些代碼幾乎都不需要維護,因為功能簡單,程序就是可以做到沒有BUG,需要升級的時候也很少。混亂的代碼,於他們的工作效率,幾乎沒有什麼影響;相反,由於開發環境難以想像的簡陋,整理代碼會浪費他們大量時間。既然代碼潔癖是由需求引起的,那麼我們來反思一個問題:我們做的和我們需要的一致么?其實問題問出來的時候,相信大家有答案了,既然用到了「潔癖」,肯定代表「做多了」,《編程之道》這本故事書裡面有個有趣的小故事:一個初學者被要求編寫一個財務軟體。他瘋狂地工作了很多天,但他的主管檢視他的程序時發現,它寫了一個編輯囂,一個圖形程序集,和人工智慧的界面,但是看不到任何跟財務有關的東西。主管要求解釋時,程序員被激怒了:你太沒耐心了,我會在最後寫財務的部分。這就是一個典型程序員在乾的事情,所有的優秀程序員都要經歷這樣的階段,過度設計、過度優化、過度使用技巧等等等等,因為我們就是這樣的群體,對這些的追求就是我們學習編程提高自己的動力,所以我們必然會經歷這樣的事情
⑺ 你們是怎麼看待那些動不動就說別人代碼很亂的程序員
可以把這個作為互相交流的契機,既然他覺得亂,你就跟了解清楚為什麼覺得亂,怎麼才能不亂,說不定他說的有道理,你就能學到東西了,如果他說的不對,就用疑問的方式委婉地提醒他一下,如果他還是那樣,就隨他去了,他的觀點不重要,又不會影響到什麼的話,聽聽就好。
⑻ 我是程序員,剛畢業7個月,覺得編程不適合我。看到代碼就想吐。想轉行,各位大哥覺得轉哪個行業,有前途
苦逼的程序員,我同學和你一行,現在做公務員了,既然有了這樣的經歷,想轉行,就應該想看看自己喜歡做什麼?快樂的工作是一件幸福的事情
⑼ 為什麼軟體開發者不適合測試他們自己編寫的軟體
1.開發人員對其所寫代碼有主觀認同感
人們通常會對自己所犯錯誤視而不見或者拒絕承認。同樣的,在軟體開發領域,程序員們在耗費大量心血編寫代碼,完成工作之後,他們會固執的認為自己編寫的代碼會運行良好。他們對待其開發的應用程序就像對待自己的孩子一樣,拒絕承認自己的孩子有什麼不好的地方。這就是為什麼軟體開發人員難於發現和改正自己的錯誤。
2.開發人員對軟體過於樂觀的心態
開發人員進行開發的目標是將軟體所需的功能完美的展現出來。當程序的功能運轉正常的時候他們會自我感覺良好,因為他們的主要目標就是功能二字。而測試人員與他們想的卻不一樣。測試人員通常會從不同的角度切入進軟體內部,打破程序員們慣有的思維方式。他們的目標是通過各種不同的測試用例把軟體潛在的不足之處引發出來。
3.開發人員對需求易產生偏差與混淆
開發人員專注於程序的功能,並在現有需求目標的指引下開展工作,當新的需求目標出現之後,他們會與現有的需求目標混淆並產生業務邏輯層或者功能性上的bug。需求作為程序員考慮功能的唯一標准,因此如果當他們在需求的理解上出現了偏差的話,他們在測試應用程序上就會不得要領了。而軟體測試人員會從業務的角度來看待需求,他們能夠辨別哪些需要的東西完成了,而哪些還沒有。
4.開發人員擅長修復但不擅長拆解
開發人員只擅長代碼的功能測試和代碼修復,如果程序運行正常,那麼他們的測試就結束了。而事實上,測試人員的主要工作是將應用程序拆解,從每個小塊之中找尋那些不易發現的bug,並幫助開發人員了解那些特定的功能應當是怎麼樣的。
5.開發人員缺乏對軟體後續開發的展望
大多數開發人員專注於特定的任務或功能,他們從需求所選擇的那個點來完成功能的設計,因此在測試的時候他們也只會從這個點來進行考量而不會考慮功能設計的靈活度。而測試人員會在功能設計方面考慮得更寬,在一個或者多個目標完成時,他們都會在大腦里呈現心目中應用程序的完整樣子,這有助於在更早的時間更輕松的完成後續功能的設計。
6.開發人員缺乏測試經驗和方法
軟體測試人員通過平時接觸的常見錯誤和應用程序邏輯積累了豐富的知識和經驗。由於在測試上的長期鍛煉,測試人員對於找尋bug和程序測試更加得心應手,而開發人員只擅長修復已拆解的應用程序而不擅長拆解。測試需要通過有專業的測試能力的軟體測試人員才能完成,因為他們具備了掌握軟體測試要領、思想的能力以及對軟體測試工具、方法使用的理解,而這些是需要長時間實踐才能熟悉的。
⑽ 如何不被程序員們嫌棄
你是項目經理嗎?其實程序員們每天都活在代碼的世界裡,思維方式可能真的和其他人不一樣。只能多學習一下,去逛逛程序們平時呆的社區和網站吧,開源中國和米鼠網之類的。