这次结对编程的队友是可熊,感谢可熊不嫌弃我这个鶸,,和我组队
通过分析可熊的代码,深刻体会到了自己代码的不规范以及代码可延展性的缺失
比如using namespace std; ,这一行代码虽然自己写的时候很方便,但没有考虑到别人的编程习惯,某些工程代码里会出现以关键字做变量名的情况,这样写会不兼容
所以要用cin,cout作为标准输入输出应该如下面代码:
int x;std::cin >> x ;std::cout << x << std::endl;
或者像这样
using std::cin;using std::cout;using std::endl;int x;cin >> x;cout << x << endl;
详细的分析参考博客https://blog.csdn.net/my_precious/article/details/49701339
然后是变量名的命名规则,可熊的代码很好的遵从了构建之法的要求,对类的成员命名符合Pascal形式,变量符合Camel形式,函数则用动词或动宾组合词表示
如下所示:
函数部分void get_countname(std::string & cn);void get_password(std::string & pw);void get_countname(std::string & cn){ std::cin >> cn;}void get_password(std::string & pw){ std::cin >> pw;}
类的内部实现private: std::string s_countname; std::string s_password; grade count_grade;public: Count(const std::string & cn, const std::string & pw, const grade & cg); void ProduceQuestion() const; bool CheckPass(const std::string & cn, const std::string & pw) const; void ChangeGrade(const grade & cg);
这种规范的编码方式使得我在看代码的时候可以毫不费力的读懂,便于维护,与今天上课讲的具体要求吻合的很好,与自己的相比较顿时感觉自己不适合敲代码,感觉会像新闻里的一样(大雾),,。
分析具体的代码结构,可熊是用类的方式实现,方法具体为:
1、检查账号密码,
2、切换难度等级,
3、生成相应题目,
体现出了低耦合的特点,就是每一个模块只负责一件事,类的接口设计的也很好,便于实现新的需求。。
接着介绍一些小小的缺点,关于软件工程,我认为不只是软件写出来就行了,还得配上相应的说明文档,可熊恰恰犯了这个错误,他并没有写说明文档
所以虽然他的代码写的很漂亮,需求也满足的很好,但是第一次我拿到工程文件的时候,我很是花了一番功夫从弄清楚了各个文件的作用以及代码的整体结构
也就是说,用户体验不好,我认为这一点很重要!!!
总结:可熊的代码写的很好,细节方面处理的很到位,可却缺少了工程周期很重要的一环。(ps:我自己写了说明文档,哈哈哈)