草庐IT

馊主意

全部标签

c++ - 在这种情况下使用多个条件运算符是个好主意吗?

我刚刚在Wikipedia上看到了这段代码关于条件运算符的文章:Vehiclenew_vehicle=arg=='B'?bus:arg=='A'?airplane:arg=='T'?train:arg=='C'?car:arg=='H'?horse:feet;我对代码做了一点改动,但想法是一样的。你觉得这种条件运算符的用法可以接受吗?它比if-else结构要简洁得多,并且使用switch肯定会为bug带来一系列全新的机会(任何人都失败了?)。此外,if-elses和switch不能用作R值,因此您必须先创建变量,初始化它,然后根据需要分配。我真的很喜欢这个,但我想知道其他人的想法。但格

git - 如果它们密切相关,将单独的项目保存在同一个存储库中是一个好主意吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭3年前。Improvethisquestion我正处于Web应用程序的早期阶段,该应用程序将包含一个部署到客户端浏览器的客户端JavaScript应用程序和一个驻留在我的服务器上的服务器端REST类型API。两者将使用Ajax和JSON数据进行通信。现在是这样的;它们是完全分开开发的,甚至不共享一行代码或一种资源。两者都是Node.js应用程序。服务端使用express和sequelize处理所有服务端的东西,客户端使用带手写笔和Co

python - 用 Python 编写守护进程是个好主意吗?

我必须编写一个在后台持续运行并执行一些简单任务的守护程序。逻辑一点都不复杂,但是它必须运行很长时间并且稳定。我认为C++将是编写此类应用程序的不错选择,但我也在考虑使用Python,因为它更容易在其中快速编写和测试某些内容。我在使用Python时遇到的问题是我不确定它的运行时环境在很长一段时间内会如何表现。它会因为一些GC怪癖而吃掉越来越多的内存吗?会不会意外崩溃?我以前从未在Python中编写过守护程序,所以如果有人在这里写过,请分享你的经验。谢谢! 最佳答案 我为我的上一家公司用Python编写了许多守护程序。简短的回答是,它工

python - 在 Python 中为函数组合提供语法糖是个好主意吗?

前段时间我查看了Haskell文档,发现它的功能组合运算符非常好。所以我实现了这个小装饰器:fromfunctoolsimportpartialclass_compfunc(partial):def__lshift__(self,y):f=lambda*args,**kwargs:self.func(y(*args,**kwargs))return_compfunc(f)def__rshift__(self,y):f=lambda*args,**kwargs:y(self.func(*args,**kwargs))return_compfunc(f)defcomposable(f):r

python - 使就地操作返回对象是一个坏主意吗?

我在这里主要谈论的是Python,但我想这可能适用于大多数语言。如果我有一个可变对象,那么让就地操作也返回该对象是个坏主意吗?似乎大多数示例只是修改对象并返回None。例如,list.sort。 最佳答案 是的,这是个坏主意。原因是如果就地和非就地操作具有明显相同的输出,那么程序员会经常混淆就地操作和非就地操作(List.sort()与sorted())相比,这会导致难以检测的错误。返回自身的就地操作可以让您执行“方法链接”,但是,这是一种不好的做法,因为您可能会不小心将具有副作用的函数埋在链的中间。为了防止这样的错误,方法链应该只

python - 为什么盲目使用 df.copy() 来修复 SettingWithCopyWarning 是个坏主意

关于可怕的SettingWithCopyWarning有无数的问题我很清楚它是如何产生的。(注意我说好,不好)当一个数据帧df通过存储在is_copy中的属性“附加”到另一个数据帧时,就会发生这种情况。这是一个例子df=pd.DataFrame([[1]])d1=df[:]d1.is_copy我们可以将该属性设置为None或d1=d1.copy()我见过像@Jeff这样的开发人员,但我不记得还有谁,请警告这样做。引用SettingWithCopyWarning是有目的的。问题好的,那么有一个具体的例子来说明为什么通过将copy分配回原件来忽略警告是一个坏主意。我将定义“坏主意”以进行澄

python - 类/函数定义中的导入语句 - 这是个好主意吗?

我创建了一个名为util的模块,它提供了我在Python中经常使用的类和函数。其中一些需要导入的功能。在类/函数定义中导入需要的东西有什么优缺点?是否比模块文件开头的import更好?这是个好主意吗? 最佳答案 将每个导入放在文件顶部是最常见的样式。PEP8推荐它,这是开始它的一个很好的理由。但这不是一时兴起,它具有优势(尽管还不足以使其他一切都成为犯罪)。它允许一目了然地找到所有导入,而不是查看整个文件。它还确保在执行任何其他代码(可能取决于某些导入)之前导入所有内容。NameErrors通常很容易解决,但它们可能很烦人。通过将模

java - 使用 unicode 符号作为 Java 标识符是个好主意吗?

我有一段代码如下所示:doubleΔt=lastPollTime-pollTime;doubleα=1-Math.exp(-Δt/τ);average+=α*(x-average);在Java标识符中使用unicode字符是多么糟糕的想法?或者这完全可以接受? 最佳答案 这是个坏主意,出于各种原因。很多人的键盘不支持这些字符。如果我要在qwerty键盘(或任何其他没有希腊字母的键盘)上维护该代码,我必须一直复制和粘贴这些字符。某些人的编辑器或终端可能无法正确显示这些字符。例如,一些编辑器(不幸的是)仍然默认使用一些ISO-8859(

java - 为什么 Catch(Exception) 几乎总是一个坏主意?

为什么catch(Exception)几乎总是一个坏主意? 最佳答案 因为当您捕获异常时您应该正确处理它。而且你不能期望在你的代码中处理所有类型的异常。此外,当您捕获所有异常时,您可能会得到一个无法处理的异常,并阻止堆栈中的上层代码正确处理它。一般原则是尽可能捕捉最具体的类型。 关于java-为什么Catch(Exception)几乎总是一个坏主意?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

java - 将数据存储为具有空/空值的 HashMap 中的键是一个好主意吗?

我最初编写了一个ArrayList并在其中存储了唯一值(用户名,即Strings)。后来我需要使用ArrayList来搜索其中是否存在用户。那是O(n)的搜索。我的技术主管希望我将其更改为HashMap,并将用户名作为键存储在数组中,将值存储为空Strings。所以,在Java中-hashmap.put("johndoe","");我可以稍后通过运行查看此用户是否存在-hashmap.containsKey("johndoe");这是O(1)对吧?我的负责人说这是一种更有效的方法,这对我来说很有意义,但将null/empty作为值放在hashmap中并将元素作为键存储在其中似乎有点不对