当前位置: 首页 > news >正文

网站开发技术留言vs做网站头部的代码

网站开发技术留言,vs做网站头部的代码,河南省网站制作公司,网站服务器暂时不可用怎么办结对编程收获 ——我和我的伙伴分到了Core组#xff0c;他负责生成编写四则运算表达式函数#xff0c;而我负责编写计算函数以及整体框架和接口 这一次结对编程不仅学到了不少编程技术#xff0c;更在交流合作中发现了自己以往的问题#xff0c;因为我一直以来是一个偏爱独…结对编程收获   ——我和我的伙伴分到了Core组他负责生成编写四则运算表达式函数而我负责编写计算函数以及整体框架和接口   这一次结对编程不仅学到了不少编程技术更在交流合作中发现了自己以往的问题因为我一直以来是一个偏爱独来独往的人宁愿在合作中多干活也不愿意别人对我的构想指手画脚不过这一次是无法避免的了。 编程收获   1、实战经验   这是一次难得的C实战经验或者说是一次面向对象语言的实践C更抽象一层的数据类型及其方法将我从以往繁重的体力活用C语言编写中解救出来我也充分地利用了它不同于C的特性将整个小项目的结构都编写得比较优美至少是学习计算机语言以来。最后附上核心内部接口与外部接口 2、开发流程 结队编程的效率成员单独的效率-交流所带来的损耗因此成员之间任务的耦合性越大带来的损耗也越大所以在合作的过程中我有如下想法 1前期最好采用和-分-和的讨论方法。   1和成员需要全部参与到代码整体脉络的讨论当中然后尽量地以减小任务耦合度为原则分配任务。   2分当两者或者几个人任务存在可能的交叉时成员需要单独地进行交流对设计的版块进行细致讨论。这一阶段非常重要只有细致地讨论、设计才有助于尽早地发现BUG这对开发周期有百利而难有一害   3和然而两者或者几个人交流完毕后不能急匆匆地开始开发需要重新召开组会交流各个版块的设计思想并至少需要一个统领全局的人明确整体的脉络发现中间可能存在的冲突、重叠然后提供改进的建议。 2开发有几个需要注意的问题   1如果数据结构存在重叠即后者可能用到前者的数据结构时那么他们的耦合度可以判定为高需要共同设计代码、编写代码并且开发时只有一人编写而另一人需要实时观察、跟进。而两者或者几个人任务只是接口级别的则可判定为低需要事先约定好接口的类型然后分别开发自己的模块最后组建为一个类。   2测试代码要跟进上每一个函数尤其是项目越大这一点越是关键虽然有一些函数因为参数表的问题难以编写测试类然而并不能省略因为之后的查错可能会把人逼疯。 3归并需要在线最好是面对面的交流   在各个同学便写完代码需要归并在一起的时候可以按照树的结构逐步上提当然每一个节点都是一个更高层次的功能来确定的。这时候需要进行面对面的联合测试因为这样在对接的时候能充分化解歧义并且前后调用函数的编写人可以互相交流容易忽视的点可能出现的异常。 3、开发周期   这次我充分吸收了上次个人编程时受到的教训以逐次迭代的思想我每开发一个新的模块时都列写出可能用到的最基本的函数独立地进行编写、测试。事实上这样的经历是轻松愉快的在后期的调试中至少没有在算法逻辑上遇到明显的问题。当然C这点没有Java做得好Java的Test注解对函数的测试是更加轻松的也可能我学的C太浅显了毕竟从Java到C的过渡只用了6个小时 4、开发感想   读了其他同学的收获我感觉我上文所述的方案有些许遗憾因为我太在意去除耦合性让每个人去做独立的工作却忽略了两个人一起编程人数更多可能就不管用了所带来的其他效益这里的一起是指同时做一件事情。因为两个人独立思考一种算法的时候能够发现更多的漏洞这里我也有提到也就是最初第一和第三步的公共讨论部分另外互相监督能促使队友更高效地工作而不是时不时就去看一眼其他无关的内容最后还能减少debug的时间领航员对驾驶员的代码大致了解的时候可能有不同于你的固有认识我想这个方面的确可能是两个人合作的效率大于单干效率之和的。 接口处理     1、前后接口讨论的重要性   诚如上文所言在最初的讨论中所有成员都应该参加但是这次并没有邀请UI组甚至最开始的时候还没有考虑到要联系UI组因为接口函数看上去已经确定了。也如后来UI同学在群里抱怨的虽然逻辑上各组之间差异不大但是他们最初想得太美好了接口参数表、返回值、甚至编写语言的不同让UI组的工作一下子重了不少。我们在之后的第二天找到了UI组的同学不过他们讨论的积极性也不高所谓的对接组内讨论也不了了之。 2、人性化、例程   这一次我们的接口设计是比较成功的因为据反馈有好几组UI都对我们的接口表示满意我想这一方面得益于我在对接口设计时充分考虑到a尽可能少的调用函数完成尽可能多的事情bC语言仍然是所有同学熟练掌握的语言并且它几乎成为各种编程语言会优先支持的外部语言另一方面我也不厌其烦地在每一个版本中编写Test工程对dll进行测试更对接口编写实际的使用例程并且不断进行更新这样充分考虑用户感受使我们赢得了赞誉。 代码展现     1、留给UI组的接口   extern C __declspec(dllexport) void SettingCal(int numOfOperand, int numOfQuestion, double rangeOfQuestion, bool addition, bool subtraction, bool multiplication, bool division, bool power, bool brackets, int precision, bool properFraction, bool decimalFraction);extern C __declspec(dllexport) void GenerateAndCalc();extern C __declspec(dllexport) const char* getExpression(int count);extern C __declspec(dllexport) const char* getAnswer(int count);extern C __declspec(dllexport) int numOfQuestion(); View Code   2、内部的代码框架   struct ReversePolishType {stackdouble OPTR; //操作数栈stackchar OPND; //操作符栈 };struct fractionType {//假分数形式int numerator; //分子int denominator; //分母 };struct RPT_FractionType {//真分数的逆波兰式表示stackfractionType OPTR;stackchar OPND; };class OperationClass { private: //B同学int numOfQuestion; //题目的数量int numOfOperand; //操作数的数量double rangeOfQuestion; //题目中的数值范围//运算符的种类bool addition;bool subtraction;bool multiplication;bool division;bool power;bool brackets;int precision; //精度bool properFraction; //是否支持真分数bool decimalFraction; //是否支持小数//都不支持说明支持整数 //计算整形、小数形式的算式static ReversePolishType ReversePolishNotation(string Input)throw(...); //计算整形、小数形式的算式根据string生成逆序波兰式static double CalReversePolishNotation(ReversePolishType expression)throw(...); //计算整形、小数形式的算式根据逆波兰式计算结果//计算分数形式的算式static RPT_FractionType RPN_FractionType(string Input)throw(...); //计算分数形式的算式根据string生成逆序波兰式static fractionType CRPN_FractionType(RPT_FractionType expression)throw(...); //计算分数形式的算式根据逆波兰式计算结果//分数形式的加、减、乘、除、乘方static fractionType fraAdd(fractionType a, fractionType b)throw(...);static fractionType fraSub(fractionType a, fractionType b)throw(...);static fractionType fraMul(fractionType a, fractionType b)throw(...);static fractionType fraDiv(fractionType a, fractionType b)throw(...);static fractionType fraPow(fractionType a, int b)throw(...);//A同学string generate()throw(...);string generate1()throw(...);string generate2()throw(...);string generate3()throw(...);string generate0()throw(...); public:OperationClass(); //无参构造方法//提供给UI的属性、方法 //对象的属性vectorstring expression; //存储生成的表达式vectorstring answer; //存储表达式的计算结果void Setting(int numOfOperand, int numOfQuestion, double rangeOfQuestion, bool addition, bool subtraction, bool multiplication, bool division, bool power, bool brackets, int precision, bool properFraction, bool decimalFraction);/*设置属性操作数数量题目数量数值范围加法减法乘法除法乘方真分数or小数最后两项只可选其一否则抛出异常*/void GenerateAndCalc();void Generate(); //生成表达式并存储在string当中void CalcAllExpression(); //对题目表达式依次进行计算将结果string数组返回//获得对象的属性int getNumOfQuestion(); //获取题目数量设定值//B同学提供给A同学的方法 //计算表达式expression //返回double类型的答案double CalcDouble(string expression)throw(...); //整数/小数形式表达式对输入表达式字符串进行运算然后以数值形式返回double CalcFrationDouble(string expression)throw(...); //分数形式表达式对输入表达式字符串进行运算然后以数值形式返回//返回string类型的答案string Calc(string expression)throw(...); //整数/小数形式表达式对输入表达式字符串进行运算然后以数值形式返回string CalcFration(string expression)throw(...); //分数形式表达式对输入表达式字符串进行运算然后以数值形式返回}; View Code  转载于:https://www.cnblogs.com/Trinidad/p/8893597.html
http://www.pierceye.com/news/247324/

相关文章:

  • 做网站时已做好了ps怎么倒入深圳燃气公司地址
  • 做类似淘宝的网站要多少钱亚马逊网站建设进度计划书
  • 够完美网站建设怎么把视频弄成超链接
  • 苏州网站建设哪家更好四川省建设工程信息网官网二建注册
  • 潍坊网站关键词推广湖南餐饮网站建设
  • 珠海网站建设优化推广win2008 iis7发布网站
  • 平安网站建设发挥了积极的作用wordpress 的数据库路径
  • 福州网站建设优化安阳县二中录取分数线2022
  • 如何建手机网站网站能否做二维码
  • 南京网站建设 雷仁网上海网站制作网络推广方法
  • 营销型网站怎么做安阳县有多少个乡镇
  • 网站评论 设计天气网站建设
  • 潍坊市住房和城乡建设局网站哈尔滨最新发布公告
  • 白云网站 建设信科网络制作网站软件网站
  • 房产网站的建设想发布oa网站 需要备案吗
  • 帮别人做钓鱼网站吗海口网站建设过程
  • 广州php网站建设做网站的公司推荐
  • 百度一下建设银行网站首页网上购物都有哪些网站
  • 装饰公司营销型网站建设idc服务器租赁
  • 广告投放跟网站建设一样吗视频网站能备案吗
  • 哪些网站可以找到兼职做报表的学校网站建设价格明细表
  • 域名购买哪个网站好wordpress 转载插件
  • 网站百度提示风险网站开发 安全
  • 厦门网站建设建网站如何做一个网页项目
  • 锦州市网站建设腾讯企点怎么群发
  • 移动端网站开发哪家好总结格式模板
  • 东山县建设银行网站民宿网站开发的开题报告
  • 北京企业网站seo平台社交网站模板下载
  • 旅游做攻略用什么网站wordpress破解版
  • 杭州做购物网站第一次跑业务怎么找客户