Skip to content

Latest commit

 

History

History
57 lines (35 loc) · 1.93 KB

04-traits.md

File metadata and controls

57 lines (35 loc) · 1.93 KB

04-Traits

小组成员:

姓名 身份 github用户名
戢凯文 队长 jikaiwen
滕思洁 队员 yunmoxyz
赵皓宇 队员 PB15111605

项目链接: https://github.com/2017-CompilerH-a3/Teamwork-Traits

简介:

Traits是一种语言特征,表示一组方法可以用于扩展一个类的功能。

单继承的语言中类无法同时从两个基类继承属性或方法。于是,Traits被提出,通过在类中声明要组合的Trait名称,来达到从其他地方获得代码进行复用的目的。

本项目将研究Traits的特点,优点缺陷,并与其他相似的语言特性,比如mixin还有接口,进行比较;同时建立一些Traits相关的demo,以理解与体会。

目前进展:

已有进展的:

  • 与Mixin对比
  • 接口:目前整理了再python,c++,php这3种语言中的特性和用法
  • demo:给出了一些traits用法的示例代码
  • 增加了对c++type_traits.h中代码的分析
  • 阅读了部分python traits的代码实现

还在进行的:

  • 和stl的关系(在整理)
  • python trait代码的分析
  • c++的代码分析

具体进展可见项目链接。

遇到的问题:

  • traits和c++ stl是否有关联?

我们感觉traits和c++ stl有所关联,但是在网上没有找到相关资料,目前有了一些进展正在整理。

  • python trait的代码量过大,同时网上没有相应的代码分析资料,看得进度极慢且没有头绪
  • 缺少有关php的trait资料

成员的讨论方式和时长:

讨论方式为qq讨论组讨论。目前我们只在遇到问题时在讨论组进行讨论。

任务和分工:

分工见项目中每个人提交的branch。