小编Pet*_*ter的帖子

合同编程设计的最佳实践是什么?

合同编程设计的最佳实践是什么?

在大学时我通过合同范式学习了设计(在OO环境中)我们已经学会了三种解决问题的方法:

1)总编程:涵盖所有可能的例外情况(参见数学)

2)名义编程:只有在满足前提条件时"承诺"正确的效果.(否则效果未定义)

3)防御性编程:使用异常来发出非法调用方法的信号

现在,我们已经集中在不同的OO场景中正确使用每种情况,但是我们还没有学会何时使用WHICH ...(主要是练习所强加的战术......)

现在我觉得我没有问过我的老师是非常奇怪的(但是在演讲期间,没有人问过)

就个人而言,我现在从不使用名义,并倾向于用异常替换前置条件(所以我宁愿使用:抛出IllegalDivisionByZero,而不是说'前提条件:分隔符应该与零不同)并且只有程序总数才有意义(因此我不会返回除以零的常规值,但这种方法只是基于个人发现和喜欢.

所以我问你们:

有没有最好的做法?

design-by-contract

8
推荐指数
1
解决办法
2538
查看次数

什么时候两个枚举在C#中相同?

我创建了两个枚举,我知道它们不一样,但我认为它们是相同的,因为它们的字符串表示以及它们的数字表示相等(甚至相同......).

换句话说:我希望第一个测试通过,第二个测试失败.但实际上,它们都失败了.那么:C#中的两个枚举何时相等?或者无论如何在C#中定义equals运算符?

谢谢!

    public enum enumA {one, two}

    public enum enumB {one, two}

    [Test]
    public void PreTest()
    {           
    Assert.AreEqual(enumA.one,enumB.one);
    Assert.AreSame(enumA.one, enumB.one);
    }
Run Code Online (Sandbox Code Playgroud)

更新:1)所以到目前为止所有答案都比较表示,无论是整数还是字符串.enum 本身总是不平等的我聚集在一起?没有办法为它定义平等吗?

c# enums equality

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

为什么战略模式称为战略模式?

当然,您可以将其视为一种策略,但这几乎适用于所有设计模式.所以为什么?

design-patterns

7
推荐指数
2
解决办法
737
查看次数

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

对于这种算法,Python与Java相比非常慢

我正在研究算法并决定将Java程序从教科书移植到Python,因为我不喜欢Java开销,特别是对于小程序,以及作为练习.

算法本身非常简单,它只是以一种强大的方式从阵列中取出所有三元组,并计算有多少三元组总和为零(例如:[ - 2,7,-5])

 public static int count(int[] a) {
        int N = a.length;
        int cnt = 0;
        for (int i = 0; i < N; i++) {
            for (int j = i+1; j < N; j++) {
                for (int k = j+1; k < N; k++) {
                    if (a[i] + a[j] + a[k] == 0) {
                        cnt++;
                    }
                }
            }
        }
        return cnt;
    } 
Run Code Online (Sandbox Code Playgroud)

我把它移植到:

def count(a):
    cnt = 0
    ln = len(a)
    for i in xrange(0,ln): 
        for j …
Run Code Online (Sandbox Code Playgroud)

python java performance

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

在react-native中尝试使用Button时出错

在制作简单的本机反应程序时,我无法使<Button> 组件工作.我经常遇到的错误react-native run-android

java.lang.String无法强制转换为com.facebook.react.uimanager.AccessibilityDelegateUtil $ AccessibilityRole

当我省略按钮时,一切正常,我可以单击文本就好了.

代码:

import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View, Button } from 'react-native';



type Props = {};
export default class App extends Component<Props> {
  render() {
    return (
        <View style={styles.container}>

        <Button onPress={()=>console.log('hi')} title="go"/>
        <Text onPress={()=>console.log('hi')}>Welcome to React Native!</Text>

      </View>
        );
      }
 }
Run Code Online (Sandbox Code Playgroud)

一些依赖:

  "dependencies": {
 maar eens alles goed staat hoop ik gewoon dat de miserie gedaan is, cf   "react": "16.6.0-alpha.8af6728",
    "react-native": "0.57.3"
  },
Run Code Online (Sandbox Code Playgroud)

react-native react-native-android

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

在c#(wpf)中捕获windows键

我按下任何按钮时,我写了一个小节目,在屏幕上显示声音和图像.当我的一个小孩爬到我的膝盖上然后开始按键时,我总是开始它,当然是随机的.

它工作正常,除了2个键,其中一个是ON/OFF开关,另一个是Windows键.(CTRL-ESC相当于我相信)我可以在按下它时拦截它,但只有在startmenu显示之后.

我使用的事件是UIElement.KeyDown,到目前为止我能想到的是:( e是KeyEventArgs)

            if (e.Key == Key.LWin) e.Handled = true;
Run Code Online (Sandbox Code Playgroud)

但是起步窗口已经显示出我害怕了.

我已经有1个回答,但非常想知道是否有任何wpf支持?

我怀疑编程主开/关开关可能不可能?否则,任何帮助也会受到欢迎..

c# keyboard wpf

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

lisp库的一个很好的来源?

是否有针对lisp的PEAR类库?我希望有,但我在某处读到lisp的一个缺点是它缺乏严肃的库.我觉得很难相信因为现在已经有半个世纪了.

lisp common-lisp

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

如何以编程方式将链接表复制到Ms Access中的本地表?

所以我想将链接表复制到MS Access 2003中的代码,结构和数据中的本地表.

代码是:VBA或C#.或其他任何事情..

更新:我希望ms访问的复制结构和数据行为保留主键.如果复制链接表,则可以选择将其粘贴为"结构和数据(本地表)"这是我想要在代码中实现的.

ms-access

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

F#图表示例

我想使用内置功能或免费库在F#中做一些基本的图表.如果可能的话,我会非常满意它的一个非常基本的例子,一个饼图.

示例数据:

[("John",34);("Sara",30);("Will",20);("Maria",16)] 
Run Code Online (Sandbox Code Playgroud)

其中int是要在馅饼中表示的百分比.

我最近安装了VSLab,虽然我发现了很多3D示例,但我只是在寻找一个简单的饼图......

顺便使用excel功能也很好,不是免费的,但是安装了..

charts f#

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