導航:首頁 > 程序命令 > 程序員點擊發送不出去怎麼辦

程序員點擊發送不出去怎麼辦

發布時間:2023-03-13 03:53:29

Ⅰ 作為一個程序員,我發現同事寫的代碼有Bug,怎麼辦

作為一個程序員,你發現同事寫的代碼有Bug,你會告訴他嗎?講真的,這個事情對我來講,很難,因為我在這個事情上吃過苦頭!

看待這個問題首先得看對方脾氣咋樣,如果對方脾氣不好,或者很難搞,還是想想其他辦法。直接跟他講可能會遭到對方的白眼!

別看我們程序員一個個傻傻獃獃的,其實自尊心特別強!除非你是他的領導,否則即使你發現了他代碼里的Bug,他也不會服你!雖然還是會改,但內心一定在想:「就你能?自己管好你自己就成,看我代碼幹啥?」

其實我也是這樣的心理,好像程序員除非自己願意,否則都不怎麼喜歡別人去研究自己的代碼,好像對方故意找自己茬的意思。

但是不管咋樣,不管是有意無意,我們既然發現了同事寫的代碼有問題,就不能坐視不管!

我最近在調一個小夥伴的介面時,因為涉及到數據回滾,所以就想知道他的代碼有沒有做回滾操作。如果沒有,可能我這邊數據已經回滾了,他那邊沒回滾就會導致數據前後不一致。所以我也不是有意要審查他的代碼。

然後我就發現他不光沒有做回滾操作,也沒有做批處理。幾個涉及到修改數據的代碼就這樣一行一行走下來,看著直讓人撓後腦勺。

於是我就把這個事情告訴了他,讓他要麼做事物(如果操作有問題,可以自動回滾),要麼做主動回滾。否則我在調他介面時,如果我這邊撤銷了數據修改,他那邊卻提交了修改,就會導致數據丟失或前後不一致。

當我告訴他這個情況和解決方案以後,我能很明顯地感受到他有點不愉快。但事實擺在眼前,也只能修改。可修改歸修改,他還是有點脾氣的。於是他寫了一個事物,將大部分涉及到增刪改的語句全部包在了裡面,唯一把一個刪日誌的語句留在了外面。

我看到這個情況,就委婉地跟他說:「」好像這個刪日誌的語句也要包在事物裡面哦!」

但是他卻說,這個無關緊要,他特意放在外面的。

我跟他說,既然這里有數據存在,就不是無關緊要的。不管咋樣,也不能無緣無故就把數據給刪了。但是他很倔強,執意不改,還說如果我覺得這個數據有用,那就讓我自己「順手」把這里的代碼改一下。

此時我能明顯地感受到他已經有點煩我了!無奈之下,我把這段代碼給移動到了事物裡面。

而我為什麼說我因為發現同事代碼有Bug告訴同事而吃過虧呢?

原因在於我之前待過的一家公司,有一個工作了幾年的程序員同事,而我當時是個萌新。因為我專門培訓過,所以代碼能力還行。可這個同事雖然工作了幾年,但寫出來的程序代碼卻Bug一堆,常規測試手段還測不出來。

我是在偶然之間發現他寫的一個程序是有Bug,但是又不確定,所以就想看看他代碼是咋寫的。不看不知道,一看嚇一跳,他寫的好大一部分代碼都有問題!

我當時初生牛犢不怕虎,發現一個跟他說一個,結果最後把他給惹毛了,當場就要跟我動手,說我專門針對他。我哪有針對他的心呀!我當時想的是把這些Bug找出來,讓他改掉,否則對公司也不好。

但是他想的估計是被我這個萌新發現了一堆Bug很丟人。我總是針對他的代碼找Bug,他就是脾氣再好也綳不住啊!

後來我們的部門經理為了不讓他難堪,也為了給他個台階下,找了我寫的程序里的一個缺點,猛批了下,然後跟大家說:「我剛才看了看,大家寫的代碼有好多問題。這樣,大家都各自檢查一下自己的代碼,看看有沒有問題,有問題盡快改過來,然後我們統一測試!」

直到現在,我也沒學會當發現同事代碼有Bug以後,在不讓同事產生不愉快的心理的情況下,委婉地告訴同事他代碼寫的有問題的方法。

Ⅱ 優秀的程序員是如何處理技術 Bug 的

從初入職場菜鳥到職場大咖,很多程序員在努力充實自己,有時候我們需要對自己進行一次能力定位,了解自己的優勢和沒有掌握的技術。芯學苑列出幾點作為初入職場的新手評估自己,明了前進學習的方向。
1、技術能力(解決問題的能力)
這是非常重要的事;過硬的技術能讓你得到面試機會,並在工作中游刃有餘。當公司招聘一個Java開發人員時,是會優先考慮能力因素的。在實際的項目開發中,一個程序員的技術能力等於其解決問題的能力。
如果拿一個尺度來衡量這個能力的話,一個程序員的能力可以用能完成任務的數量和難度來衡量。一個程序員能基本無誤的完成項目中的一個功能算是合格,但在此之前,他對項目的生產力為負,為他布置的任務,中間環節的溝通,修補bug的時間其實要多於自己直接完成該功能的時間的。能較好完成一個完整模塊的程序員才算是較好的程序員,也是項目中的主要開發者。能獨立完成整個項目才是優秀的程序員。
2、專業基礎(知識的積累)
一個程序員的知識積累很大程度上決定了其解決問題的能力。知道如何編寫代碼是基本的技能,但是知道Java編程語言的原理,知道代碼背後的演算法將使你從人群中脫穎而出。
3、主流編程工具
今天,事實是,你不能成為一個樣樣都懂的人(雜而不精)。你必須選擇你要掌握的工具。有時這是由工作的環境決定的,但是按照下面說的去做也是一個很好的選擇:
構建工具:Maven或Gradle。
SCM:Git(不是GitHub。大不相同)。
構建自動化:Jenkins。
IDE:Netbeans或Eclipse——不僅用於編寫代碼,而且還從IDE中重構和調試代碼。我遇到了很多沒有如何從他們最喜歡的IDE調試的開發人員。
Bug跟蹤:Bugzilla或Jira。
4、JSF的知識
應用程序伺服器
所有Java開發人員應該知道如何在Apache Tomcat中部署。
當Glassfish開發停止時,下一個最好的事情是J Boss Wild Fly。
5、溝通的能力
溝通是我們做好一切事情的關鍵。我們必須與我們周圍的環境保持互動,無論是在我們的私人還是職業生活中。一個良好的程序員知道如何在各種團體面表達自己。也許對你來說顯而易見的東西在他人的角度來看並非如此。
從大的尺度(比如一個人的工作生涯)來看,一個程序員知識積累的多少只決定於其自學能力和他對編程本身的興趣。
在一個分工明確的項目中,程序員需要理解產品,和領導溝通理解自己的任務,和同事們溝通以正確的方式進行合作。無論哪一個方面溝通出了問題都不是小事情,同時,程序員還需要正確的傳達設計的實現難度,以及讓別人正確的理解自己設計模塊的介面。在不寫文檔時,正確的口頭溝通非常重要,需要寫文檔時,良好的編輯能力也算做是溝通能力的一部分。
6、自學能力
這是一個非常重要的技能,在你自己的空閑時間學習新的技能。不要等待公司為你提供培訓。你需要自己去學習新技術,提升自己在相關領域的水平。從Java後端開發到架構模式,總是有一些新事物值得學習。經常閱讀博客和論壇,嘗試加入本地聚會小組。你學到的東西可以幫助你的事業。知識刷新頻率極快讓人無法追趕的這個時代,難免會有超出自己知識范圍的時候,此時你的自學能力決定了你能多快的完成任務。
7、良好的團隊合作精神
無論是部分編程還是大型項目,所有開發人員都是作為團隊的一部分在協同工作。你需要致力於團隊的目的,或幫助新的團隊成員克服障礙。不要存在這種「我只要做好我的本職工作,下班就直接回家」的態度。成為團隊的一部分,幫助周圍的同事,對自己的能力也是不小的提升。
就像拿破崙說的不想當元帥的士兵不是好士兵,追求參與一個大型軟體系統的開發,是每個程序員的夢想。在此之前,應該學習更多的專業知識,達到優秀程序師的標准。最後希望各位程序員閱讀本文後能夠得到一些裨益,在這條路上走得更好。

Ⅲ 程序員輸錯一個指令,電腦開不了機了,該怎麼辦

如果是程序員輸錯了一個指令,現在電腦開不開機,那麼你不要慌。下面就會介紹,如果遇到這種情況,我們應該如何處理?
1、電腦出現應用程序錯誤,有可能是電腦出現漏洞導致,點開「電腦管家」選項;
2、接著立即點按下「工具箱」;
3、然後點下「修復漏洞」選項;
4、最後接著點下「一鍵修復」就好了。
命令排除方式:
1、按下鍵盤的win+R,接著輸入「cmd」;
2、輸入彈窗所示命令,按下鍵盤的回車鍵進行檢查,進入檢查的過程中;
3、這樣就檢查出電腦一些必備系統軟體沒安裝,在檢查過程中就自動安裝了,安裝後,就解決了應用程序錯誤的情況。

電腦開機無顯示故障的排除方法。
第1步:首先檢查電腦的外部接線是否接好,把各個連線重新插一遍,看故障是否排除。
第2步:如果故障依舊,接著打開主機箱查看機箱內有無多餘金屬物,或主板變形造成的短路,聞一下機箱內有無燒焦的糊味,主板上有無燒毀的晶元,CPU周圍的電容有無損壞等。
第3步:如果沒有,接著清理主板上的灰塵,然後檢查電腦是否正常。
第4步:如果故障依舊,接下來拔掉主板上的Reset線及其他開關、指示燈連線,然後用改錐短路開關,看能否能開機。
第5步:如果不能開機,接著使用最小系統法,將硬碟、軟碟機、光碟機的數據線拔掉,然後檢查電腦是否能開機,如果電腦顯示器出現開機畫面,則說明問題在這幾個設備中。接著再逐一把以上幾個設備接入電腦,當接入某一個設備時,故障重現,說明故障是由此設備造成的,最後再重點檢查此設備。
第6步:如果故障依舊,則故障可能由內存、顯卡、CPU、主板等設備引起。接著使用插拔法、交換法等方法分別檢查內存、顯卡、CPU等設備是否正常,如果有損壞的設備,更換損壞的設備。
第7步:如果內存、顯卡、CPU等設備正常,接著將BIOS放電,採用隔離法,將主板安置在機箱外面,接上內存、顯卡、CPU等進行測試,如果電腦能顯示了,接著再將主板安裝到機箱內測試,直到找到故障原因。如果故障依舊則需要將主板返回廠家修理。
第8步:電腦開機無顯示但有報警聲,當電腦開機啟動時,系統BIOS開始進行POST(加電自檢),當檢測到電腦中某一設備有致命錯誤時,便控制揚聲器發出聲音報告錯誤。因此可能出現開機無顯示有報警聲的故障。對於電腦開機無顯示有報警聲故障可以根據BIOS報警聲的含義,來檢查出現故障的設備,以排除故障。

Ⅳ 程序員遇到百度不出來的bug都是怎麼解決的

筆者不同意下面網友的回答。程序員如果解決bug的水平停留在網路,那麼本質上只是一個「面向搜索引擎的代碼搬運工」,是不合格的程序員。

程序員對面bug,正確的「打開方式」是像福爾摩斯和柯南那樣,尋找線索、運用邏輯推理來縮小問題可能的根因范圍,最終精準定位。

常用的方法有:

1. 壞境上下文變換法

2. 工具調試法

3. 版本回溯對比法

4. 代碼審計法

……

沒有編程問題是stack overflow和Google解決不了的,假設你在編程中遇到了問題,你自己解決不了、你周圍的的人都解決不了的時候,我覺得stack overflow、Google是你最好、也是最後的幫手。

作為一個程序員,我覺得Google、stack overflow是你必須要學會使用的兩個工具,這兩個工具本身並沒有使用門檻,只不過因為一些眾所周知的原因,很多人不能使用Google和stack overflow這兩款工具。

Google主要還是方便,而且很多編程問題都需要用到英文搜索,當然現在網路在專業能力上也提升明顯,不過跟Google也還是有比較大的差距,因此我還是強烈建議要學會使用Google,這會幫你在工作、學習上事半功倍。假設Google確實因為某些原因沒辦法很好的使用,我也建議你至少要會使用Bing搜索。

現在可以說stack overflow上沒有你找不到的問題了,從IDE環境安裝問題,到各類編程語言問題。演算法問題,數據結構問題,調試,重構等等,幾乎這里就沒有你找不到的答案,可以說在stack overflow上你可以找到任何解決方案,並且上面的回答者基本上都是非常有經驗,而且都是實際中遇到的問題分享出來的,這個工具一定要會使用。同理,除了stack overflow這個專業的垂直程序員問答社區,你也可以使用Quora這個綜合問答社區,這上面也能找到很多問題的答案。

一些比較優秀的文本編輯器: Emacs/Vim,Visual Studio Code,Sublime Text,Atom,Ultraedit,Hbuilder等。

一些比較非常出色的IDE集成開發環境: visual studio,IntelliJ IDEA,PhpStorm,Haskell for Mac ,eclipse,WebStorm,GoLand,CLion,Android Studio,Xcode,QT等。

macOS平台比較好的第三方包管理工具: Fink,Macports,Homebrew等。

一些比較好的終端工具: Zoc7,iTerm2,Cmder,terminus,hyper等。

一些比較好的筆記軟體、markdown工具、效率工具: Evernote,有道雲筆記,為知筆記,Ulysses,MWeb,FileZilla,Snipaste,Kantu等。

虛擬機軟體、容器軟體: Parallels Desktop,VMWare Fusion,Virtual Box,Docker等。

我是個程序員,職務是linux底層驅動工程師。平時的主要工作是調試驅動,但產品遇到諸如死機、重啟、不開機之類的問題時,也要參與查找原因。一部分問題,確實可以查看相關的log,然後網路這些log的關鍵字來解決;但更多的問題,牽扯的條件太多,並不是簡單的網路就能解決的。

觀察了周圍同事們的做法,我總結出以下幾種解決方法:

網路因為競價排名的原因,搜索出來的結果有很多廣告的成分,所以有時候要翻好幾頁才能看到一條相關的答案,有些甚至要翻幾十頁。

因為網路搜索使用的是SEO技術,即普通用戶可以通過優化網站內容來提升關鍵詞排名。

而這就會導致一個問題:你搜索關鍵詞後展現出來的結果是有人想要讓你看到的,並不是質量最好的。

也就是說,網路搜索結果被人為干預了。所以網路一直被網民所詬病。

但網路搜索不出結果,未必是網路的原因,也有可能是自己輸入的搜索詞不準確造成的。所以對於網路,我們要做到如下幾點:

除此之外,網路搜索還有點小技巧,粥左羅《萬字干貨,徹底講透搜索技巧,10倍提升你的搜索力(免費教程)》這篇文章寫得非常好,我整理幾點,僅供參考:

01 過濾目標內容

命令:「+」「-」

用法:通過「+」和「-」來對搜索結果進行過濾

比如在關鍵詞後加上「-推廣 -推廣鏈接」就可以排除搜索結果中包含相應字樣的鏈接。如果你發現廣告還沒有排除干凈,你也可以再加上「-廣告」通常就能徹底的消滅廣告。

02 搜索包含某關鍵詞的內容

命令:「intitle」

用法:通過「intitle」命令指定搜索結果中要包含的關鍵詞,注意「intitle」後邊連接的冒號是英文狀態下的。

03 搜索某一個格式的文件

命令:「filetype」

用法:通過「filetype」命令可以限制我們要搜索文件的類型,注意「filetype」後邊接的冒號也是英文狀態下的。

04 搜索特定時間范圍的內容

命令:「時間..時間」

用法:通過「時間..時間」命令可以限制我們要搜索的文件的時間,注意兩個時間的中間頓號沒有空格。

相對網路,谷歌、必應對於技術搜索,就相對准確許多,所以當你網路搜索不到時,嘗試下別的搜索引擎,說不定會有新發現。

現在程序員使用的機器語言,都是國外的,更准確的說,都是美國的。所以很多論壇、資料等,都是英文。如果你只會用中文來搜索,某些小眾的問題,當然搜不到啦。

所以,要學會使用英文關鍵字來搜索。

有時候甚至要去國外的一些論壇來搜索想要的答案,這就要求要有一定的英語閱讀能力,不能一看到英文帖就放棄。

有時候不管你如何搜索,都找不到自己想要的答案,該怎麼辦呢?這種情況下,就只能硬著頭皮嘗試自己解決了。

或者,尋求同事或朋友的幫助,尋求大腦風暴,說不定就會有思路。

如果有些問題是因為新器件帶來的,還可以找到器件供應商,讓他們安排技術支持幫忙查找原因。

除此之外,還可以把問題整理好,寫清發生的條件、復現步驟、測試方法、相關的LOG截圖等資料,去一些技術論壇發求助帖,尋找大牛的幫助。

做技術時間久了,發現有些問題確實無解,根本沒有辦法去解決它。

這時候,我一般會嘗試把它繞過,就是說,想辦法讓它無法復現,雖然問題還是存在,但是能把它掩蓋過去。

比如有些驅動在開機啟動時會載入不正常,那麼就讓它晚點啟動,或者手動載入。這也不失為一種解決問題的方法。

以上就是我的建立,希望對你有幫助。

首先作為一個程序員,一個優秀的程序員最最最重要的能力就是解決問題的能力。這里解決問題的能力當然就包含了解決 bug 能力了

畢竟,程序員這一生,可能會寫無數個 bug ,沒有說哪個程序員敢保證自己寫的程序沒有 bug 。 所以,寫了 bug ,遇到 bug 並不可怕,可怕的是你沒有解決 bug 的能力 。

作為一個程序員,解決 bug 的途徑有哪些呢?我們來一起聊一聊!

其實,每個程序員在學習編程的時候,都會使用編程工具,而現在的開發工具,其實功能都很強大。如果你自己合理利用編程工具,都了解和懂得開發工具的一些技巧,其實不僅僅能夠提高開發效率,而且還能夠幫助你解決很多編程中的實際問題。

debug 調試,大部分你常用的開發工具,都會有調試模式的,簡而言之,就是你編程的時候,遇到了不是自己所想的結果的時候,你可以使用 debug 模式,來一步一步的調試,在調試模式下一般每一步都會顯示所執行的結果,你可以看看在哪一步出錯了,執行的結果與你預想的結果不對,那麼你就能夠找到問題所在了。

還有就是,開發工具的控制台,都會提示出報錯信息的,現在的開發工具,都會直接告訴你哪一行,報了什麼錯。其實,很容易定位到錯誤的。你只需要在編程的過程中積累經驗,知道報什麼錯,用什麼方法來解決就行啦。

可是,提示的報錯信息,我不知道用什麼方法來解決的時候,該怎麼辦呢?這就是你需要積累的,也是問題中所描述的,就是通過搜索引擎來找答案。

不對,這里不應該是合理使用搜索引擎,應該是學會正確使用搜索引擎。比如:網路,你就不要用了,搜出一堆重復的信息,而且廣告也多。作為程序員,建議你使用谷歌搜索。

其實,你在編程中所遇到的幾乎所有的問題和 bug ,別人也同樣遇到過,因為不管是經驗豐富的老程序員,他技術再牛逼,也是初學者過來的,也都踩過你踩的坑。所以,互聯網是個好地方,裡麵包含了你想要的問題的答案。

你只要把報錯信息往搜索引擎上一放,回車一下,很多關於這個 bug 的答案就出來很多,你只需要找到跟你一樣的 bug ,就能找到答案了。

在這里必須提一下這個網站,所有的程序員有必要學會使用這個網站,其實,你編程中所遇到的問題,這個網站上幾乎都是由解答的。

Stack Overflow 可以說是最好的軟體程序類問答網站了,給軟體開發人員工作和學習提供了非常大的便利,以至於像小白,離了 Stack Overflow 簡直都不會寫程序了。

所以,建議大家一定要學會使用這個網站,對你編程肯定會有非常大的幫助的。

通過上面的方法,幾乎應該能夠解決到你所遇到的問題,但是,實在找不到答案的話,你可以問經驗比你豐富的老程序員,實在解決不了,那就換種方法吧!

網路,谷歌,debug,斷點調試,業務上的bug就需要問下同事或者產品。如果能知道大致范圍,哪一部分錯了,就換一種方法唄,一般都不會只有一種方法。

1.reload

2.restart

3.rewrite and then goto 2 or 4

4.reboot

5.rm -rf /

6.原諒我編不下去了[捂臉][捂臉][捂臉][捂臉][捂臉][捂臉][捂臉]

找bug跟醫生看病的思路是一樣的,要對症下葯。得先把問題的根源找到,找到根源以後問題就容易處理了。搜索引擎找不到的問題,說明這個問題不是一個常見的問題,具有獨特性,那麼從bug出現的路徑上一步一步去排查。必要時可以用排除法,盡可能的縮小排查范圍。另外,當軟體的業務邏輯比較繁多復雜的時候,一個結構清晰的架構能為你節省不少找bug的時間。還有,充分的單元測試能夠幫你減少出bug的機會。以上均為個人看法,歡迎討論!

一般程序員能碰到的bug無外乎其他上遊程序員寫庫時手抖留下些不匹配或者容易溢出的問題,搜一下差不多能解決問題。如果是自己寫的,那無非就是時序錯誤類型錯誤之類的,用break point一行行的調就好了。

再復雜點的bug就是程序員拿高薪的根本了,只可意會,不可言傳~

僅僅靠搜索引擎、其他網站那必然無法解決大量問題,因為很多問題是跟業務邏輯相關的,是沒有直接答案的。比如 游戲 開發有個界面一直無法顯示,這個問題就不是網路可以解決的。問題需要調試分析,這和破案非常像,但在開發過程中更有利的是問題有機會可以重現。破案是逆向工程,需要反推。解決代碼問題不僅僅可以反推,也可以通過閱讀代碼正向分析。下面說說如何debug一個業務邏輯問題。回到剛剛的例子,有個界面一直出不來,我們如何快速去定位:

1.思考這個問題發生的可能性。比如 游戲 內大量界面都是正常的,那麼可以對比正常界面代碼和異常界面代碼的區別,這是對比法。

2.假設創建正常界面和這個異常界面的邏輯代碼是一樣的,那麼問題就落到了這兩個界面內部,繼續在內部重復上面的對比法進行判斷,直到鎖定最終位置。

上面說的方法基本上可以杜絕卡在一個簡單問題上,這是擺脫新手的一個過程。選擇使用對比法或者其他方法的前提都是基於觀察和對項目的認識,所以,搜集「案發現場」是最關鍵的。

其他的問題,不屬於邏輯的,像其他網友說的那樣,有些通過到github、stackoverflow等地方解決的。這些問題也不是直接就去查找的,它通常也有個分析過程。比如你使用了一個庫,但是目前它不支持你的模塊。對於新手,就是直接網路或者google了。實際上這樣的問題也是有「案發現場」的。對於作者提供的api介面的統一性和便捷程度去推斷作者在相關支持模塊的位置以及命名以及拓展,再嘗試在文件夾中搜索。如果都找不到,再去Google上獲取更多的信息。重復推斷、分析,決定如何拓展或者繞過。

綜合上面的幾種問題,可以看到的是都離不開對現場的觀察和推理分析。這種能力也被稱為經驗。但是一般情況下你看不到它們這個分析過程,你能做的就是在實際環境中反復逼迫自己去思考,去訓練。這個推理的培養,不僅僅是對事情,也是對人。

我在入行 游戲 開發的前期,也是類似的情況。卡在不同種類的問題上,有些在簡單邏輯,有些在別人的代碼支持上。後面解決的問題多了,就會發現裡面共通的思維方式。常用的一些方法如下:

1.對比法,比較正常與異常代碼區別

2.二分查找法。分段注釋找問題,也會用在很多方面。比如最近版本突然出了一個奇怪bug,可以通過svn還原來定位。這個還原不是一個一個版本還原,而是用二分法去還原。

3.增加信息。在懷疑的位置或者過程添加日誌或者打斷點輔助自己更好的推理。

4.相似推理。比如一個引擎在api、性能使用程度上都非常友好,那麼它在別的地方也有可能相對表現比較好。這時候如果有個功能我們的實現需要很復雜才能完成,那麼就有可能是我們用錯了。相似推理不一定都能正確,但會提供一些幫助。

以上。

Ⅳ 程序員接私活完整攻略

接私活 對程序員這個圈子來說是一個既公開又隱私的話題,不說全部,應該大多數程序員都有過想要接私活的想法,當然,也有部分得道成仙的不主張接私活。但是很少有人在公開場合討論私活的問題,似乎都在避嫌。就跟有人下班後跑滴滴一樣,程序員私有時間接點活掙點錢不也很正常么,不過不要在上班時間就行,就跟你上班期間出去跑滴滴一樣。

當你竭盡全力想要去接私活的時候一定做過這樣的事,網路搜索「程序員如何接私活」或者「程序員到哪接外包」之類的問題,那麼相信你也一定看到過讓你不要接私活的帖子,觀點大概就是:

把有限的時間花在提升自己的能力上,技術深度,技術廣度,或者多閱讀書籍,豐富自己,這樣有可能比做外包收益大。

這里就不跟大家討論該不該接的問題了,很明顯,我接了。首先跟大家分享幾個項目案例。

案例1

大概是13年14年左右的樣子,談到一個項目,做一個APP連接甩脂機,通過藍牙模塊傳輸數據,便於手機上觀察,大概這樣。依稀記得跟甲方項目經理溝通需求時,他拿了一個 Android 2.x 系統的手機給我演示了QQ的一些功能,我一本正經的跟他說,「你放心,這個肯定做不了」,他當時就懵了...因為我並不想兼容2.x版本的系統。後來進入簽合同階段,這家公司不大,事兒倒是不少,又是身份證復印件,又是按指紋。這個項目是我外包生涯中的一次滑鐵盧,為什麼呢,因為我竟然同意了不用付定金,等項目開發中期再支付第一筆費用。帶著一個他們提供的藍牙硬體模塊,回去了。後端開始編寫API,Android iOS 開始研究藍牙數據傳輸,噼里啪啦直接把項目做完了。測試包發過去了,結果大家能想到,不給錢!

我至今都記得這家公司的名字,不知道倒閉了沒有,我們整個團隊一分錢沒得到,項目以失敗告終。

案例2

一個汽車後市場項目。當時市場上有一款APP,養車點點,後來已經改名,叫典典養車,我們當時要做的就是抄襲它,功能類似,整個項目差不多十幾萬。甲方是做汽車零配件的,在上海有很多家店,每次交流的地址在一家咖啡館。兩個多月後,項目上線,經營一段時間後,甲方意欲挖我們過去,畢竟項目是我們做的,他想把原班人馬招過去,婉拒。

案例3

一個海外社交項目。這個項目比較小,只做 Android 一個端,原因是甲方招聘的 Android 人員離職了,時間緊急,就讓我接了。比較順利,對方提供視覺稿、API,我開發 Android 即可,項目也沒啥難度,我閑著無聊,特地給他們做了一些交互動畫,甲方驗收的時候非常高興,直言比他們自己員工做得都好。

還有很多其它項目就不一一介紹了,小到做一個控制項,幾百塊,千把塊,大到幾十萬的項目,從整理需求到設計到開發。當然,也不是什麼項目都接,舉個例子,以APP為例,在甲方提供API和視覺稿的前提下,一個端低於2萬的項目從來不接。

做私活掙錢嗎?不掙錢是腦子進水了嗎。尤其對於剛入場的選手,外包收入可以說抵你一年的工資都可以。不僅掙錢,還特別積累經驗,外包項目五花八門,搞地圖的,搞語音的,搞視頻的,搞藍牙的,能幫助初級選手快速成長。

做私活累嗎?相當累。白天黑夜,從無周末。項目一旦接下來,從此進入心事重重的生活,不到最後交付那一刻,不會停緩。周末是最佳的工作時間,平時下班晚的話還做不了,所以幾乎沒有休息時間。

重點來了,到哪裡接呢?

初級選手自己亂七八糟找項目,高級選手項目找上門。做私活一定要找到最佳狀態,不然就是受罪。什麼是最佳狀態,就是當項目找上門時, 想做就做,不想做又想賺就轉。 那麼到底有哪些方法可以接到私活呢?不管黑貓白貓,抓到老鼠就是好貓,有哪些方法我一一說來。

方法1

各個眾包平台。這是入門級的手段,也是最容易做的方法。有哪些眾包平台就不用我一一細說了吧,豬八戒,威客網,CSDN 也有外包頻道,一些技術論壇,海外的 Freelance 網站等等,每個都注冊一遍,前期比較麻煩,各種資料需要填寫,團隊介紹,歷史案例。注冊之後理論上就可以投標項目了,不過如果需要認證的話,還需要繼續花錢,很多項目只有花錢之後才有機會投標,這個就自己評估吧,我沒花錢。通常沒啥好項目,錢哪有那麼容易賺,都是些邊邊角角稀奇古怪的項目。當然,即便是被別人挑剩下來的項目,也不排除有好項目,你要一一去溝通才知道。

方法2

主動聯系各個外包公司,成為他們的備選開發人員。外包公司接單子的手段肯定比我們個人高明多了,他們就靠這個吃飯的,當他們出現人員緊缺、項目過剩、員工離職等情況時,不排除他們會考慮找臨時替補人員,甚至把項目整包轉出去。如果你身邊有朋友開外包公司的,那很好,先天優勢,長期互助。但是大部分人也許並沒有這樣的資源,那麼這就是個體力活了,在方法1的基礎上,部分平台會留下甲方的聯系方式,比如豬八戒,你直接搜索軟體外包服務商,他們的介紹頁面上通常會有他們的手機號碼和郵箱等信息,或者當你點擊「在線咨詢」「與我聯系」等類似按鈕的時候,他們的自動回復也會出現一些QQ號、手機號、郵箱等聯系信息。

這邊我只是以其中一個平台為例,只要你用心,各個平台你都能扒到一些有用的信息。拿到這些信息之後你就可以把你編輯好的話術發給他們,也可以直接加他們微信,通常手機號碼就是微信,不要慫,直接跟他們聯系,打電話、發郵件、發QQ,發微信,把你想要做外包的意圖告訴他們即可,然後就靜靜的躺在他們的朋友圈裡,或者被遺忘,一兩個月問一次好打個招呼,不要太頻繁,這也算是人際關系的維護,看你本領了,多認識點人沒壞處,剩下的就是平淡的等待了,如果他們會聯系你的話。

方法3

跟身邊的開發人員灰度交流。你沒有項目,不代表別人都沒有,如果別人願意帶著你的話,這也算是一個渠道。什麼是灰度交流,就是半含蓄狀態,文章開始我說了,程序員接私活是一個既公開又隱私的話題,不過這個度大家自己把握好,搞不好丟飯碗,把握不好的還是放棄這個方法吧。

方法4

人脈資源。除了從網路上接項目,或者吃外包公司的殘羹冷炙,還有另外一個類別的項目,那就是創業者。在這個互聯網、移動互聯網、物聯網盛行的時代,創業者也是一波接著一波,雖然熱度有高有低,但是從不缺。組建一個公司,組建一個技術團隊需要一筆不菲的費用,尤其軟體開發人員的工資,將成為一個創業公司的沉重負擔。種子投資,或者天使輪投資能有多少,對大多數創業項目來說,幾十萬,一百萬,兩百萬,或者五百萬,基本頂天了,這些錢能維持一個團隊多久,何況還有很多創業者並沒有拿到融資,他們等著先開發一個上線項目,再拿項目去找投資。如果你能接到這樣的項目,那也是很爽的,不過通常這類項目靠熟人介紹,但是你千萬要注意,一定要營造良好的口碑。有條件的話,也可以做套名片,幾十塊錢,夠發好久的。

做私活沒有穩定的渠道,你可能一直找不到項目,也可能一年一個項目,重點是心態,不然你將陷入困擾的情緒當中。有更好,沒有拉倒,找到最舒服的狀態。

當項目來臨時,該如何報價?

價值都是相對的,一定要有自己的心理預期,有些人覺得五千很值,有些人覺得一萬很值。不要飢不擇食,不管多廉價都接;也不要人心不足,吃著碗里看著鍋里,或者覬覦別人的高價。跟對方交談時,一定要快速判斷彼此是否是目標客戶,不要啰嗦太多,你的心理預期是幾萬,對方的心理預算是幾千,這樣的項目還談個啥,務必在最短的時間內確定大家是否可以繼續談下去,否則浪費不必要的時間。如果大家心理預期差不多,對方不是那種想三千塊錢做個淘寶的,則繼續往下進行。有的甲方要求不多,很爽快,這樣最好,有的甲方需要出報價單,那麼就詳細溝通需求,整理報價,整理報價是一個費時的過程,不要嫌麻煩,我們不是服務商,我們是搶食的個體,一定要不怕付出,哪怕一無所獲。

甲方有可能只是來詢價,也可能等你出完報價單再回去比價,還是那句話,不要怕吃虧。如果甲方是個體的話,通常很好弄,但是甲方是商家的話就麻煩一點,一定要問清楚是否要開票,開票是要稅的,不過羊毛出在羊身上,告訴他我們的報價是不含稅的,如果要開票的話要加上稅錢,20萬的話,差不多幾千塊錢,看對方要求開什麼類型的票。開票的話可以自己去稅務局開,不過我沒去過,如果自己認識幾個開公司的朋友的話那是最好,讓他們幫忙開張票,把稅錢貼給他們。

如果你覺的開票你對來說很難實施的話,那麼有三個方案,一是放棄,這樣的單子直接不要接了,繼續尋找下一個單子;二是先接下來再轉包,轉給其它的外包公司做,不過你要估摸好有公司接,有朋友做外包公司那是最好的,相互幫忙,但是這種方案並不推薦,原因是不好把控項目進度和質量,還擔風險;三是把項目介紹給認識的公司去談,談好了你拿提成,這樣你既不擔風險,還賺點快錢。

付款方式該如何確定呢?

切記,必須付定金,越多越好。通常我的付款方式是442,即預付40%的定金,項目提測再付40%,項目上線付清餘款20%,這套方式針對個人比較好用,針對公司不好用,公司通常會留一筆費用在上線後一個月兩個月三個月再付清,所以付款方式可以改成5311,即預付50%的定金,提測30%,上線10%,上線運營一個月後10%,堅持一個原則,前期付的錢越多越好。

接下來就是簽合同了

一般只有個人才可能不要求簽合同,大多數情況還是要簽合同的。合同盡量你來擬定,不會寫的話上網抄,一定要保護好自己的權益,重點是防止被對方坑。比如在合同中一定要寫好適配哪些系統哪些瀏覽器,基於哪個版本開發等等,做得到的就寫,做不到的別亂寫,合同這東西,在心情好的時候怎麼寫都無所謂,心情不好的時候大家只能拿合同說話,你可別賠個十萬二十萬的,嚇死你。

整個接私活的過程差不多就是這樣了,最後,我再強調幾點 注意事項

end

Ⅵ 當使用tcp協議編程時,哪些問題是程序員考慮和處理的

發送數據的格式和應用協議。

一旦雙方建立了TCP連接,連接中的任何一方都能向對方發送數據並接收對方發來的數據。

發送數據時,程序員可以編寫程序不斷地將數據流寫入TCP的發送緩沖區中,然後TCP自動從發送緩沖區中取出一定量的數據流寫入TCP的發送緩沖區中,然後TCP自動從發送緩沖區中取出一定量的數據,將其組成TCP報文段逐個發送給IP層,再通過IP層發送出去。

接收端從IP層收到TCP報文段後,將其暫時保存在接收緩沖區中,這時程序員就可以編寫程序依次讀取接收緩沖區中的數據,從而達到通信的目的。



(6)程序員點擊發送不出去怎麼辦擴展閱讀

利用TcpClient和TcpListener在同步方式下接收、發送數據及監聽客戶端連接時,在操作沒有完成之前一直處於阻塞狀態,這在接收、發送數據量不大或者操作用時較短的情況下是比較方便的。

但是,對於那些完成時間可能較長(如傳送大文件)的任務時,使用同步操作可能就會造成系統假死,這種情況下,最好的辦法是使用非同步操作。

閱讀全文

與程序員點擊發送不出去怎麼辦相關的資料

熱點內容
調度系統軟體python 瀏覽:205
微信大轉盤抽獎源碼 瀏覽:497
壓縮機損壞的表現 瀏覽:862
同步數據伺服器怎麼用 瀏覽:634
163郵箱伺服器的ip地址 瀏覽:50
伺服器跟域是什麼 瀏覽:128
rails啟動命令 瀏覽:465
logistic命令怎麼用 瀏覽:738
c語言點滴pdf 瀏覽:747
linuxrtc編程 瀏覽:258
linux打包並壓縮命令 瀏覽:644
aes加密的證書格式 瀏覽:99
oracledbcalinux 瀏覽:844
酬勤任務app怎麼被特邀 瀏覽:199
android應用文件夾 瀏覽:1002
平面設計法則pdf 瀏覽:339
3d圓角命令怎麼用 瀏覽:569
程序員買意外險還是重疾險 瀏覽:621
遼寧的dns伺服器地址雲空間 瀏覽:448
我的世界伺服器斷開後怎麼連接 瀏覽:415