向C语言编程人员展示您的共同程序员在类中尚未实现某些方法的方法

Czu*_*aka 9 c++ error-handling compiler-errors notimplementedexception

在以下情况下可以使用哪些方法

  • 你通过一个小的C++项目与几个(例如1-3个)其他程序员一起工作,你使用一个存储库
  • 你创建一个类,声明它的方法
  • 你还没有时间实现所有方法
  • 你不希望其他程序员使用你的代码(因为它还没有实现); 或者不想使用尚未实现的代码部分
  • 你没有时间/可能告诉你同事所有这些尚未实现的东西
  • 当你的同事使用你尚未实现的代码时,你希望他们立即意识到他们不应该使用它 - 如果他们收到错误你不想让他们想知道什么是错的,搜索潜在的错误等等.

Cog*_*eel 14

最简单的答案是告诉他们.无论何时与一群人一起工作,沟通都是关键.

更强大(也可能是最好的)选项是创建自己的分支来开发新功能,并且只有在完成时才将其合并.

但是,如果您确实希望在主源代码树中实现您的方法但不希望人们使用它们,请将它们与异常或断言一起存在.

  • +1.断言.这是问题所针对的最直接的答案. (3认同)

Nat*_*nst 9

我其实喜欢.Net的概念NotImplementedException.您可以轻松定义自己的,从而std::exception覆盖,覆盖what为"未实现".

它的优点是:

  1. 容易搜索.
  2. 允许编译当前和从属代码
  3. 可以执行到需要代码的点,此时,您失败了(并且您立即有一个执行路径来证明需要).
  4. 当它失败时,它就无法知道状态,只要你没有全面吞下异常,而不是依赖于不确定的状态.


Ant*_*ony 7

我不会将它检入存储库.

  • 最好的选择,方法.如果代码不是可用代码,则只有在它处于可用状态时才进行检查.如果他们无论如何都不能使用它也没有害处.或者分支然后合并. (3认同)

bau*_*ack 7

你应该,或者不提交代码,或者更好的是,将它提交给开发分支,以便在你的盒子发生灾难性故障的情况下至少离开你的机器.

这就是我在使用git repo时的工作.我把工作在一天结束时推送到远程仓库(不是主分支).我的同事意识到这些分支是超级不稳定的,除非他真的喜欢破枝,否则不要用十英尺的杆子接触.

对于这种情况,Git是非常方便的,我想,其他dvcs有廉价的分支.在SVN中执行此操作或更糟糕的是CVS将意味着痛苦和痛苦.


vrb*_*lgi 5

声明一下。不要实施它。当程序员习惯调用代码的未实现部分时,链接器会抱怨,这对程序员来说是一个明显的打击。

class myClass
{
    int i;
public:
    void print(); //NOt yet implemented
    void display()
    {
        cout<<"I am implemented"<<endl;
    }
};

int main()
{
    myClass var;
    var.display();
    var.print(); // **This line gives the linking error and hints user at early stage.**
    return 0;
}
Run Code Online (Sandbox Code Playgroud)


Pup*_*ppy 0

您可以对继承的类使用纯虚函数 (= 0;),或者更常见的是,声明它们但不定义它们。您不能调用没有定义的函数。