Skip to content

Latest commit

 

History

History
57 lines (52 loc) · 3.66 KB

161220138_RE2.md

File metadata and controls

57 lines (52 loc) · 3.66 KB

访谈参与人员:

  • 沈天琪:模拟客户
  • 艾山江:模拟需求工程师
  • 周科:记录员
  • 吴晗:记录员

访谈信息:(K表示客户,G表示需求工程师)

  • G:如何体现ide的smart呢
  • K:大致是要类似人工智能,要智能化一点
  • G:从之前的需求里挑选吧,有的smart一点,有的没那么smart
  • K:ide自动变化背景算吗
  • G:按照时间天气那样变化吗?赶紧没有那么智能,就类似百度的界面,在每个节日和特殊的日子变化,只是可能是在定义好的库里按照算法变化
  • K:那说的也是,那代码风格匹配我觉得蛮smart的,检验这个程序员之前的代码风格,在之后的程序编写里尽量让程序自动贴近他的风格
  • G:这样应该可以减少程序员自己的风格纠正,感觉很适合一些强迫症患者程序员,比如缩进是几个空格之类
  • K:我记得VS是没法开发Java的。但我希望咱们的这个IDE可以开发这个世界上大部分流行的编程语言(榜单TOP10)。
  • G:那就让我们的ide可以实现基本流行的语言
  • K:是否可以让语言和语言之间实现转化呢
  • G:c语言转化为Java这样的吗
  • G:对
  • K:应该可以,这样比如python的爬虫可以转化为其他类型的语言,但不一定所有的功能都可以实现转化,比如一些语言独有的函数
  • G:有道理,的确有一定的难度,不过我们暂时是在设想
  • K:我还需要ide可以检测内存泄露,自动检测各种错误
  • G:检测错误是什么意思呢?报错是基本功能呀
  • K:我觉得有时候错误很难定位,也就很难去纠正
  • G:让ide自动找到错误的地址,然后就可以精确到某个地方去改写程序吗
  • K:比如可以告诉我是哪个变量的写导致了程序内存的泄露,就可以追踪这个变量了,而不用一个一个地去找
  • G:我直接告诉ide我所想要的一个功能,是不是可以提供给我一个类似功能的样本或者框架之类
  • K:这个我觉得是可以的。
  • G:比如我想实现一个随机数生成,可以提供我其他已经实现的随机数生成函数的样例和框架
  • K:这样的确很方便程序编写,不用再去重复地写框架,可以着眼于细节去修改

需求整理:

功能需求:

  • 多语言跨平台支持
  • 多人协作开发
  • 自动补全、自动保存代码防止丢失、支持多种测试方法、自动异常检测
  • 启动速度快
  • 代码风格审查
  • 编辑日志自动生成

非功能需求:

  • UI界面智能化
  • Ide可扩展性、可维护性好
  • 开发ide所用语言
  • 使用ide人群特征

业务需求:

  • 开发ide所需时间、价格
  • 后续维护更新的时间周期、代价

基于Smart需求的整理:

  • 代码风格匹配(比如有的人喜欢缩进是一个tab的距离,有人喜欢两个空格的距离,回车后的缩进可以依据代码风格进行缩进;比如喜欢注释的程序风格可以自动帮程序员添加简单的注释模板)
  • 人性化服务(使用时间提示)
  • 自动化检测内存泄漏(可以报告是哪里泄露了、什么变量引起的)
  • 自动提供简易代码框架(可以告诉ide想要实现的功能,ide进行识别,给出一个基本的代码框架或者是别人已经实现的相似功能)
  • 按权重(相似度、历史被采用度)列出代码报错的相应可能解决方案(报告的error可以根据历史或其他程序员的编程记录匹配类似的错误给程序员参考)
  • 跨语言代码转换(如将c语言程序转化为java语言,于是一种功能只需要一种语言实现就可以完成多种语言复用)