小编Myk*_*yev的帖子

如何使用emacs重构C++源代码?

我主要对C++和方法/类名/签名自动更改感兴趣.

c++ emacs refactoring

43
推荐指数
6
解决办法
2万
查看次数

c ++命名空间用法和命名规则

在项目中,我们试图就名称空间使用达成一致.我们决定第一级是"productName",第二级是"moduleName".

productName::moduleName
Run Code Online (Sandbox Code Playgroud)

现在,如果模块是一种实用程序模块,则添加第三个命名空间没有问题.例如,添加"str":productName :: utilityModuleName :: str - 来划分所有"字符串"相关内容的空间.

如果模块是主要业务模块,我们有很多机会,几乎没有协议.

例如

class productName::mainModuleName::DomainObject
Run Code Online (Sandbox Code Playgroud)

class productName::mainModuleName::DomainObjectSomethingElseViewForExample
Run Code Online (Sandbox Code Playgroud)

可以在

namespace productName::mainModuleName::domainObject
class Data
class ViewForExample
Run Code Online (Sandbox Code Playgroud)

我们为什么要创建内部非私有类而不是名称空间?我们为什么要创建所有方法都是静态的类(除非这个类是模板参数的情况除外)?

项目包含1Gb的源代码.那么,在c ++中划分命名空间模块的最佳实践是什么?

c++ namespaces

23
推荐指数
2
解决办法
3万
查看次数

使用'it'的Groovy嵌套闭包

闭包内的代码可以引用it变量.

8.times { println it }
Run Code Online (Sandbox Code Playgroud)

要么

def mywith(Closure closure) {
   closure()
}

mywith { println it }
Run Code Online (Sandbox Code Playgroud)

记住这种行为,您不能指望打印下面的代码 0011

2.times {
   println it 

   mywith {
      println it
   }
}
Run Code Online (Sandbox Code Playgroud)

相反,我必须写

2.times { i ->
   println i 

   mywith {
      println i
   }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么没有参数的闭包覆盖it变量,即使它们不需要它.

groovy

20
推荐指数
2
解决办法
3万
查看次数

C++ vim IDE.你需要的东西

我打算创建C++ IDE Vim可扩展插件.制作满足我自己需求的产品并不是问题.

这个插件将用于工作区,项目及其依赖项.
这适用于unix like system with gcc as c ++ compiler.

所以我的问题是你需要从IDE中获得哪些最重要的东西?请注意这是Vim,几乎所有的几乎都可以.

几个问题:
您经常使用其中的项目及其之间的关系来管理不同的工作区?这个过程中最烦人的事情是什么.
是否有必要从Makefile重新创建"项目"?
谢谢.

创建此插件的原因:

通过一堆插件和自编的插件,我们可以模拟大多数事情.当我们开展一个大型的"不定式"项目时,这是可以的.
当我们已经有一个makefile或jam文件时很好.我们必须创建自己的所有者时很糟糕,主要是通过复制和粘贴现有.
所有ctags和cscope相关的东西都必须知道真实项目文件的列表.我们创造了这样的.这个<project#get_list_of_files()>和许多类似的可能是一个很好的项目api函数,可以与现有和未来的插件配合使用.与现有makefile的合作有助于找出真实项目文件和可执行文件名称的列表.使用插件内部的插件系统,可以有不同的项目模板.

以上是我开始工作的一些原因.我想听听你的.

c++ ide vim

18
推荐指数
2
解决办法
1万
查看次数

ReactJS访问Virtual DOM协调结果

我正在通过标准this.setState机制更新页面的一部分.我想抓住网页上已更改的元素,并向用户提供视觉反馈.

假设我们有一个RichText获得data道具的组件.要渲染的富文本将委托渲染到像小部件Paragraph,Header,BulletPoints,Text,等最后的结果是正确呈现丰富的文本.

后来data道具改变(例如套接字推送).因此Paragraph可以添加s,或者更改文本,或者可以移动.我想通过简单地突出显示已更改的HTML节点来向用户提供视觉反馈.

简而言之,我希望在您查看HTML树时实现Chrome检查器所显示的内容.它会使DOM更改闪烁.

ReactJS知道改变了什么.理想情况下,我希望能够获得这些知识.

虽然较小的组件Paragraph可能负责突出自身内部的差异,但我认为他们没有足够的外部世界知识来使其按预期工作.

格式(简化版)

{
  content: [{
    type: 'Document',
    content: [{
      type: 'Paragraph',
      content: [{
        type: 'Text', 
        text: 'text text'
      }, {
        type: 'Reference', 
        content: 'text text'
      },
    ]}, {
        type: 'BulletPoints', 
        content: [{
          type: 'ListEntry', content: [{
            type: 'Paragraph', content: [{
              type: 'Text', 
              text: 'text text'
            }, {
              type: 'Reference', 
              content: 'text text'
            }]
          }] …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

13
推荐指数
2
解决办法
1417
查看次数

使用JavaFX开发Intellij IDEA插件UI

由于自定义Intellij动作插件开发人员可以弹出一个带有自定义UI的对话窗口.我正在使用嵌入Swing面板的JavaFX开发UI.

JavaFX明智的一切正常.问题是插件类加载器.尽管IDEA版本为12.1.3且JDK为1.7.0_21,但它找不到任何JavaFX类.如果我将jfxrt.jar添加为编译依赖项,那么一切正常,但将标准jar与插件结合起来听起来不对.

问题:添加JavaFX作为插件依赖项的正确方法是什么?

intellij-idea intellij-plugin javafx-2

11
推荐指数
1
解决办法
2335
查看次数

哪个OO概念是"Base b = new Derived()"的一个例子?

我正在通过测试并遇到一个问题,我们没有与同事达成协议.

С++

  1 class Base {};
  2 class Derived : public Base {};
  3 class Foo
  4 {
  5 public:
  6     Foo()
  7     {
 -8-         Base* b = new Derived(); // Concept name is?
  9     }
 10 };
Run Code Online (Sandbox Code Playgroud)

C#

  1 abstract class Base{}
  2 public class Derived : Base{}
  3
  4 public class Foo
  5 {
  6    public Foo
  7    {
 -8-        Base b = new Derived(); // Concept name is?
  9    }
 10 }
Run Code Online (Sandbox Code Playgroud)

问题是:上面的第8行是以下概念的一个例子

  1. 多态性
  2. 聚合
  3. 封装
  4. 抽象化 …

c# c++ oop

10
推荐指数
5
解决办法
3038
查看次数

Java servlet和JSP访问同一个会话bean

假设我有一个简单的Login servlet,它检查传递name和创建User对象并将其存储在会话中.

User user = new User();
user.setId(name);

request.getSession().setAttribute("user", user);
response.sendRedirect("index.jsp");
Run Code Online (Sandbox Code Playgroud)

index.jsp页面中,我通过访问用户对象jsp:useBean

<jsp:useBean id="user" scope="session"
             class="package.name.User"/>

<div class="panel">
    Welcome ${user.id}
</div>
Run Code Online (Sandbox Code Playgroud)

它到目前为止工作.

来自jsp beans文档

要找到或实例化Bean,请按以下顺序执行以下步骤:

  1. 尝试使用您指定的范围和名称查找Bean.
  2. 使用您指定的名称定义对象引用变量.
  3. 如果找到Bean,则在变量中存储对它的引用.如果指定了type,则为Bean提供类型.
  4. 如果找不到Bean,则从您指定的类中实例化它,在新变量中存储对它的引用.如果类名表示序列化模板,则Bean由java.beans.Beans.instantiate实例化.
  5. 如果已实例化(而不是定位)Bean,并且它具有正文标记或元素(在和之间),则执行body标记.

问题:

尝试使用您指定的范围和名称查找Bean

它没有指定"定位"过程.这是否意味着它会检查HttpServletRequest.getSession()或只是检查其他页面是否已经创建了这个bean?

如果找不到Bean,则从您指定的类中实例化它,在新变量中存储>引用它.

这实际上意味着Jsp可以使用jsp_internal_name_user将新创建的bean与会话相关联.没有关于Jsp如何在会话中存储和查找bean的消息.

有一个选项可以通过使用来访问会话对象${sessionScope.user},这将保证来自Java会话对象的"用户"将被获取.我自己投入的那个.

Java EE 5示例"Book Store"使用${sessionScope.name}方法访问会话对象.

使用只是${user}工作.这就是让我担心的问题.我希望在规范中看到关于locate进程的特定句子以及是否${user}必须工作或是否由JSP和/或JSTL参考实现决定.

java jsp servlets

10
推荐指数
2
解决办法
3万
查看次数

使用std :: accumulate

需要更漂亮的解决方案,但有std :: accumulate.

#include <algorithm>
#include <vector>
#include <iostream>

class Object
{
public:
    Object( double a, double b ):
        a_( a ),
        b_( b )
    {}

    double GetA() const { return a_; }
    double GetB() const { return b_; }
    // other methods
private:
    double a_;
    double b_;
};

class Calculator
{
public:
    Calculator( double& result ):
        result_( result )
    {}

    void operator() ( const Object& object )
    {
        // some formula
        result_ += object.GetA() * object.GetB();
    }
private:
    double& …
Run Code Online (Sandbox Code Playgroud)

c++ stl

7
推荐指数
1
解决办法
1万
查看次数

DrawIo mxGraph:使用XmlToSvg会丢失形状信息

我正在尝试使用Java将XML转换为SVG,但看起来形状信息在这个过程中会丢失.

给出一个简单的draw.io图表:

drawio

运行XmlToSvg.java后,我得到:

转换

我将其保存为未压缩的XML.我使用的是mxgraph-all.jarmxGraph回购

你知道是否有隐藏的设置来保存形状和颜色?

mxgraph

6
推荐指数
1
解决办法
1117
查看次数