由一句需求引發的mysql崩潰說起

來源:互聯網
上載者:User

廢話少說直接上本文

本文

今天有有人需要我從資料庫匯出一份excel表,這個人是非技術人員,他的的需求是:

19號到25號選手的投票資料,匯出excel格式

ok大家看清這個需求了,

我的第一想法

找到選手使用者表,然後在看了一個投票記錄表,

聯表查選,找出19號到25號選手的投票數。

我把結果發給對方,對方很快就告訴我錯了,這個不是他想要的,我正納悶呢,

結果他說他需要的是19日到25日的選手投票資料,

第二次:

按照他的要求很快寫好mysql語句,到資料庫查詢,不知道怎麼搞的,總是沒有資料,

首先我懷疑我的時間條件寫的有問題,在網上找半天就是沒有解決,萬般無奈之下只好求助技術老大,

未果,經過再三溝通,最後發現他要的投票資料不是選手的投票數,而是投票記錄的日誌(對應的表也就是投票日誌表,而不是投票記錄表),

現在在來分析一下的他的需求:
  • 19號到25號選手的投票資料,匯出excel格式

歧異1:19號 25號 是指時間而不是指選手id

歧異2:投票資料不是指投票數,而是指投票日誌

但是這句需求也沒有什麼錯誤,站在任何一個非技術人員的角度來說上面沒有錯誤,

站在我的角度來思考:貌似我也沒有什麼錯誤,如果我提要求的話估計也是這樣提。

但是雙方的真正需求和瞭解可謂是天壤之別,不得不思考,作為技術人員如何和非技術人員溝通?

正巧看到月光部落格上一篇程式員的本質,經過下午的折騰,更是深有體會;再錄一段,

部落格原地址;http://www.williamlong.info/archives/2907.html

一名優秀程式員所具備的能力

我們可以看到,一名優秀程式員應該具備應付兩個不同世界的兩套技能。

理解人類的需求並提出解決方案:

  • 1. 溝通——與人建立聯絡的能力,能夠同他人親密的交談,並有勇氣去嘗試分享自己的觀點。
  • 2. 意圖——從談話中提取有用的資訊,理解並使之有意義。
  • 3. 邏輯——為不懂讓步的電腦整理、剔除那些人類思想中含糊而有爭議的內容。
  • 4. 創造力——挖掘、轉變人類的想法,從而建立優秀的解決方案。
  • 5. 構思——利用人類友好的介面和便捷的互動性來封裝編程思想。
  • 6. 大局觀——清楚解決方案是如何適應全世界的使用者、企業以及其他,從而使你的程式更有用。

告訴電腦該做什麼,並建立解決方案:

  • 1. 邏輯(再次強調)——把程式員的想法組織整理成有凝聚力的軟體思想和電腦指令
  • 2. 技術——發現並理解科技黑箱(對於99%的人來說是黑箱)。
  • 3. 程式設計語言——學習美觀的、富有邏輯的、清晰明了的語言,從而把程式員的想法提供給電腦。
  • 4. 演算法——精通讓電腦完成任務最高效的方法。
  • 5. 建模——在軟體代碼中建立抽象和模型,從而掌握並操控想法。
  • 6. 實踐(比如代碼重構、單元測試、持續整合)——周期性活動,以保持系統可靠、健康與可改變。

面向人類和面向硬體對象/系統的程式員有很大不同。

不與人溝通的程式員不是好程式員。一個優秀的解決方案需要電腦世界與人類世界的雙重技能。只有串連起兩個世界,才能成為一個真正的優秀程式員。

最後一句話很重要:

不與人溝通的程式員不是好程式員。一個優秀的解決方案需要電腦世界與人類世界的雙重技能。只有串連起兩個世界,才能成為一個真正的優秀程式員。

最後一句話很重要:不與人溝通的程式員不是好程式員。一個優秀的解決方案需要電腦世界與人類世界的雙重技能。只有串連起兩個世界,才能成為一個真正的優秀程式員。

那麼怎樣做好溝通?歡迎大家談論,也請管理員手下留情

Technorati 標籤: 程式員 溝通

本文基於署名-非商業性使用
3.0許可協議發布,歡迎轉載,演繹,但是必須保留本文的署名:PHP10086部落格網(PHP淮北):http://www.php10086.com,也可以郵件與我聯絡。據說每個程式員都應該挖一口自己的井,希望各位支援我的"井":PHP10086部落格網(PHP淮北):http://www.php10086.com。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.