标签: reusability

如何在 CMake 中重用代码

我有以下代码段,它获取当前系统 IP 并将其存储在SERVER_IP变量中:

EXECUTE_PROCESS(
    COMMAND ip route get 8.8.8.8
    COMMAND awk "NR==1 {print $NF}"
    OUTPUT_VARIABLE SERVER_IP
    OUTPUT_STRIP_TRAILING_WHITESPACE
)
Run Code Online (Sandbox Code Playgroud)

我需要在CMakeLists.txt文件层次结构中的多个位置使用此 IP。重用此代码的最佳方法是什么?我的第一个想法是使其成为一个类似 的函数function(GetIP),但我不确定将该函数放在哪里以使其对所有 CMakeLists.txt 文件可见。

linux code-reuse cmake reusability

4
推荐指数
1
解决办法
1384
查看次数

CLOS:如何调用一个不太具体的方法?

比方说,有一种通用的方法incx.有两个版本incx.一个专门的类型a,一个专门的类型b.Type b是的子类a.您将获得一个类型的对象b,派生类型 - 但您想要调用专用于类型的方法a.如果还没有一个专门针对类型的同名方法,你可以很容易地做到这一点b,但是,有这样的方法.

那么a在这种情况下如何调用专用于类型的方法呢?

(defclass a () ((x :accessor x :initform 0)))
(defclass b (a) ((y :accessor y :initform 0)))

(defgeneric inc (i))

(defmethod inc ((i a)) (incf (x i)))
(defmethod inc ((i b)) (incf (y i)))

(defvar r (make-instance 'b))
Run Code Online (Sandbox Code Playgroud)

正如CLOS所承诺的,这称为最专业的方法:

* (inc r) 
* (describe r)
    ..
  Slots with :INSTANCE allocation:
    X  = 0
    Y  = 1
Run Code Online (Sandbox Code Playgroud)

但在这种特殊情况下,(不是一般)我想要的是访问不太专业的版本.说出类似的话: …

methods inheritance common-lisp reusability clos

4
推荐指数
2
解决办法
1379
查看次数

将 Rust 枚举转换为子枚举

我正在创建std::sync::atomic::Ordering的子集:

use std::sync::atomic::Ordering;

pub enum StoreOrdering {
    Relaxed,
    Release,
    SeqCst
}
impl Into<Ordering> for StoreOrdering {
    fn into(self) -> Ordering {
        match self {
            Self::Relaxed => Ordering::Relaxed,
            Self::Release => Ordering::Release,
            Self::SeqCst  => Ordering::SeqCst
        }
    }
}
impl std::convert::TryFrom<Ordering> for StoreOrdering {
    type Error = (); // HACK
    fn try_from(ord: Ordering) -> Result<Self, Self::Error> {
        match ord {
            Ordering::Relaxed => Ok(Self::Relaxed),
            Ordering::Release => Ok(Self::Release),
            Ordering::SeqCst  => Ok(Self::SeqCst),
            _ => Err(())
        }
    }
}

enum LoadOrdering {
    Acquire,
    Relaxed,
    SeqCst …
Run Code Online (Sandbox Code Playgroud)

enums code-generation casting reusability rust

4
推荐指数
1
解决办法
1773
查看次数

有一堆不完整的 Stripe 付款意图可以吗?

我正在使用 JavaScript 和 PHP SDK 实现 Stripe 支付平台。

我对实现本身没有任何问题,但我不确定是否必须重用现有的 PaymentIntent,或者创建一堆不完整的 PayIntent 也完全没问题。

我在 Stripe 的文档中搜索了此内容,但似乎找不到与此相关的任何内容。

例如,在我的测试帐户中,我有以下内容: 条纹截图

这都是为了同一个事务,因为我正在更改一些视觉效果并刷新浏览器。

我知道每个 PaymentIntent 都有一个 ID,但建议将其添加为查询参数并在刷新时检索它,还是最好始终生成新的 Payment Intent。

我的主要理由是避免收集大量不完整的付款意图。

reusability stripe-payments

4
推荐指数
1
解决办法
1170
查看次数

闪烁图像tableview重用bug看到视频链接 - > http://www.youtube.com/watch?v=jwEsqjc9sNc&feature=youtu.be

这是代码:我正在从背景上的核心数据下载图像并将其放在我的图像视图中.

static NSString *cellIdentifier = @"Pubs Cell";
PubsCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

Pub *current = [self.fetchController objectAtIndexPath:indexPath];

cell.name.text = current.name;
cell.description.text = current.descriptionText;
cell.description.backgroundColor = [UIColor clearColor];
cell.description.editable = NO;
dispatch_queue_t queue = dispatch_queue_create("image_queue", NULL);
dispatch_async(queue, ^{
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",current.photo]]];
    dispatch_async(dispatch_get_main_queue(), ^{

        cell.pubImage.image = [UIImage imageWithData:data];
    });
});
cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"light1.jpg"]];

return cell;
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决?提前致谢.

reusability tableview ios

3
推荐指数
1
解决办法
181
查看次数

Java是否使用字符串实现了Flyweight设计模式?

根据GOF对"Flyweight"的定义,重用\共享相似类型的对象以减少内存增长.

如果是这种情况,java字符串对象通过使用字符串常量池来做同样的事情.那么我们可以说Java String实现了Flyweight设计模式吗?如果没有,为什么?

java memory string design-patterns reusability

3
推荐指数
1
解决办法
429
查看次数

UITableViewCell - 约束仅在重新加载后更新

我有一个自定义的UITableViewCell,其中我有一个包含多个子视图的UIView.根据具体情况,我隐藏了一些视图,并更新约束,以便父UIView仍然在我的UITableViewCell中居中.

我的问题是,由于单元格重用,这只有在没有直接显示单元格时才有效(如果单元格不是表格中首先出现的顶部单元格之一).在这种情况下,当我向下滚动,然后向上滚动时,它再次起作用.图片将帮助我解释这个:

这是第一次加载UITableView时显示的内容.第一个单元格是包含所有信息的常规单元格,第二个单元格是隐藏第一个元素的单元格.

第一种观点

当我向下滚动然后再向上时会发生这种情况.

在此输入图像描述

如你所见,这正是我想要的.约束已正确更新,但只有一旦细胞从可见屏幕消失,并再次出现.

[reviewsAndPriceView setNeedsUpdateConstraints];
[reviewsAndPriceView setNeedsLayout];
[reviewsAndPriceView layoutIfNeeded];
[self updateConstraints];
[self setNeedsUpdateConstraints];
[self setNeedsLayout];
[self layoutIfNeeded];
Run Code Online (Sandbox Code Playgroud)

各种变化,但它不起作用.有什么办法实现这个目标?

objective-c reusability uitableview ios nslayoutconstraint

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

将方法响应重用到另一个活动中

我如何从 getDataForId(Integer.toString(1)) 获取数据;通过从 DisplayData 类调用相同的 getDataForId 方法?

我想重用相同的方法并得到结果。将相同的方法复制并粘贴到另一个活动类中是没有意义的。然后会有相同的代码重复两次。

这是我的 DisplayData.class

  public class DisplayData extends AppCompatActivity {

    Detail reqDetail;
    String BASE_URL = "";
    TextView name;

    ImageView image;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.display_data);

        name = (TextView) findViewById(R.id.name);

        image = (ImageView)findViewById(R.id.image);



        public void getDataForId(final String id) {

        ApiInterface apiInterface = APIClient.getApiInterface();
        Call<MyResponse> call = apiInterface.getResponse();
        call.enqueue(new Callback<MyResponse>() {

        @Override
        public void onResponse(Call<MyResponse> call, Response<MyResponse> response) {

               if (response.body() != null) {
                MyResponse myResponse = response.body();
                    List<Detail> details = myResponse.getDetails(); …
Run Code Online (Sandbox Code Playgroud)

java methods android reusability retrofit2

3
推荐指数
1
解决办法
2182
查看次数

在多个Rails应用程序中重用Ruby代码

我在Ruby中开发了一个简单的库,需要在几个Rails应用程序中使用它(其中一些还没有构建).在需要时,将这个Ruby库轻松添加到多个Rails应用程序的最佳方法是什么?我们的团队正在运行Ubuntu,我们的存储库是Mercurial.

我应该用...

  1. Rails插件?这将是我的第一选择,但似乎不支持Mercurial?
  2. 红宝石宝石?
  3. 自定义Rake脚本?
  4. 其他选择??

任何指针将非常感谢!

ruby mercurial plugins ruby-on-rails reusability

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

如何在战争与Maven War Plugin之间重用战争资源

在Java EE环境下,我构建了一个包含多个JSP文件的Web页面.让我们说一个包含的JSP是header.jsp.可以与Stackoverflow使用的非常类似,显示有关用户,链接等的信息.此JSP链接到java控制器以获取用户信息,并且是我的WAR文件的一部分,包括所有Web应用程序.

为了开发它,我使用Eclipse并使用Maven构建和打包它.

现在我需要构建一个新的webApplication(这是一场新的战争),我想重用标头.

我假装的是:

  • 不要重复代码
  • 两场战争都使用一个版本的标题代码

所以问题是:

有办法避免将两个文件(header.jsp和controller.java)从旧项目复制并粘贴到新项目中吗?

jsp jspinclude reusability maven

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