zoukankan      html  css  js  c++  java
  • 由一句需求引发的mysql崩溃说起

    废话少说直接上正文

    正文

    今天有有人需要我从数据库导出一份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 标签: 程序员 沟通
  • 相关阅读:
    python使用openpyxl操作execl
    python 修改、读取图片元数据
    python 利用pyttsx3文字转语音(转)
    SQL学习——SELECT INTO和INSERT INTO SELECT
    iOS开发环境搭建 及 编写1个hello world
    xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
    头疼3-4次的问题,数据从DB导出到EXCEL,再从EXCEL导入到DB,数据格式发生错误 ,导致 程序出错。
    安卓自动打包持续集成
    jenkins实现master变化时,才触发构建(过滤分支)
    配置github的pull request触发jenkins自动构建
  • 原文地址:https://www.cnblogs.com/phphuaibei/p/2271055.html
Copyright © 2011-2022 走看看