草庐IT

javascript - linting 和编译有什么区别?

我知道在Java中有一个编译器可以在您编写错误代码时告诉您。但是Javascript不能那样工作,因为它没有编译器。但是,“linting”javascripts是编译代码的方式吗? 最佳答案 Linting正在解析代码以验证语法和格式是否正确并遵循良好实践。linter会告诉您缩进是否不正确,或者您是否应该在=运算符周围添加空格。如果您的代码包含众所周知的安全漏洞或代码异味,linter也会向您发出警告。编译是解析代码以验证语法是否正确并将代码转换为不同的语言(通常是更快的语言)。那么有什么区别呢?编译:语法验证代码转换为不同的语

c# - 业务验证逻辑代码异味

考虑以下代码:partialclassOurBusinessObject{partialvoidOnOurPropertyChanged(){if(ValidateOurProperty(this.OurProperty)==false){this.OurProperty=OurBusinessObject.Default.OurProperty;}}}即当OurBusinessObject中OurProperty的值发生变化时,如果该值无效,则将其设置为默认值。这种模式让我觉得代码有味道,但这里的其他人(在我的雇主那里)不同意。你有什么想法?编辑添加:我被要求添加一个解释,说明为什么

php - 重构以消除静态方法代码异味

我有我需要创建的每个域对象的当前基本结构:classModel_CompanyextendsLP_Model{protectedstatic$_gatewayName='Model_Table_Company';protectedstatic$_gateway;protectedstatic$_class;publicstaticfunctioninit(){if(self::$_gateway==null){self::$_gateway=newself::$_gatewayName();self::$_class=get_class();}}publicstaticfunction

php - 是否将大量参数传递给 parent::__construct 代码异味/糟糕的 OOP?

我正在写一些代码,我开始对凌乱的parent::__construct调用感到有点不舒服,我想知道首先它是不是糟糕的OOP实践,其次是否有更简洁的方法来做到这一点?请参阅下面触发我问题的特别极端的示例。setBrowseNodeId($BrowseNodeId);}protectedfunctionsetBrowseNodeId($BrowseNodeId){if(is_string($BrowseNodeId)){$this->BrowseNodeId=$BrowseNodeId;}else{thrownewException('BrowseNodeLookupRequestPara

java - 代码异味部分模拟?

为什么对“部分模拟”和需要它的代码有如此多的仇恨?这是一个(理论上的)示例实现:publicComplexResult1operationA(Stimulusa){{...result=...;}auditTheChange(a);}publicComplexResult2operationB(Stimulusb){{...result=...;}auditTheChange(b);returnresult;}voidauditTheChange(Stimulusstim){//doabunchofstufftorecordthechange//andinteractwithanoth

java - 工厂构造函数中的参数太多是否有代码异味?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion我有一个工厂类,目前在它的构造函数中有6个参数,我只是遇到了添加另一个的需要。通常,这会向我尖叫“嘿,你的类有太多的依赖,因此,它做的太多了!”但是,鉴于这个类严格来说是一个工厂,真的是这样吗?我应该担心越来越多的依赖项吗?如果是这样,我应该考虑什么策略来重构它?更新:我考虑过构建器模式,但是对于工厂来说,这不是太过分了吗?(即,WidgetFactoryBuilder,它构建了一个构建小

java - 捕获空指针异常是代码异味吗?

最近我的一个同事写了一些代码来捕获整个方法周围的空指针异常,并返回一个结果。我指出空指针可能有多种原因,因此我们将其更改为针对一个结果的防御性检查。然而,捕捉NullPointerException对我来说似乎是错误的。在我看来,空指针异常是错误代码的结果,而不是系统中的预期异常。是否存在捕获空指针异常有意义的情况? 最佳答案 是的,捕获任何RuntimeException几乎都是代码异味。C2Wiki似乎同意。一个异常(exception)可能是一些特别防御性的代码片段,它们运行来自其他模块的几乎随机代码。此类防御结构的示例是ED

java - 捕获空指针异常是代码异味吗?

最近我的一个同事写了一些代码来捕获整个方法周围的空指针异常,并返回一个结果。我指出空指针可能有多种原因,因此我们将其更改为针对一个结果的防御性检查。然而,捕捉NullPointerException对我来说似乎是错误的。在我看来,空指针异常是错误代码的结果,而不是系统中的预期异常。是否存在捕获空指针异常有意义的情况? 最佳答案 是的,捕获任何RuntimeException几乎都是代码异味。C2Wiki似乎同意。一个异常(exception)可能是一些特别防御性的代码片段,它们运行来自其他模块的几乎随机代码。此类防御结构的示例是ED

python - 在 Python 中,使用 `del` 语句是代码异味吗?

我倾向于在编写原型(prototype)脚本时使用它,并且:使用一些通用的变量(例如fileCount),并且拥有一个大型方法(20多行),并且暂时不要使用类或命名空间。在这种情况下,为了避免潜在的变量冲突,我一完成就删除了这个bugger。我知道,在生产代码中我应该避免使用1.、2.和3.,但是从可以工作的原型(prototype)到完全完善的类是耗时的。有时我可能想满足于一个次优的、快速的重构工作。在这种情况下,我发现将del语句放在手边。我是否正在养成一种不必要的坏习惯?del完全可以避免吗?什么时候会是好事? 最佳答案 我不

c++ - 如何消除这种与继承相关的代码异味?

我需要实现很多具有不同const成员数据的派生类。数据处理应该在基类中处理,但我找不到访问派生数据的优雅方法。下面的代码可以运行,但我真的不喜欢它。代码需要在小型嵌入式环境中运行,因此无法广泛使用堆或Boost等花哨的库。classBase{public:structSomeInfo{constchar*name;constf32_tvalue;};voiditerateInfo(){//Iwouldlovetojustwrite//for(constauto&info:c_myInfo){...}u8_tlen=0;constauto*returnedInfo=getDerivedI
12