标签: code-structure

类中的项目顺序:字段,属性,构造函数,方法

在课程结构方面,是否有关于项目顺序的官方C#指南?

它会去:

  • 公共领域
  • 私人领域
  • 属性
  • 构造函数
  • 方法

我很好奇是否有关于物品顺序的硬性规定?我到处都是.我想坚持一个特定的标准,所以我可以到处做.

真正的问题是我的更复杂的属性最终看起来很像方法,他们觉得在构造函数之前顶部不合适.

有什么提示/建议吗?

.net c# coding-style code-cleanup code-structure

596
推荐指数
9
解决办法
20万
查看次数

什么时候应该更喜欢Kotlin扩展功能?

在Kotlin中,具有至少一个参数的函数可以定义为常规非成员函数,也可以定义为扩展函数,其中一个参数是接收者.

对于范围界定,似乎没有区别:两者都可以在类和其他函数内部或外部声明,并且两者都可以或不可以具有相同的可见性修饰符.

语言参考似乎不建议在不同情况下使用常规函数或扩展函数.

所以,我的问题是:扩展功能何时优于常规非成员功能?当常规的扩展?

foo.bar(baz, baq)VS bar(foo, baz, baq).

它只是一个函数语义的提示(接收器肯定是焦点)或是否有使用扩展函数使代码更清洁/开辟机会的情况?

code-structure kotlin

52
推荐指数
3
解决办法
4238
查看次数

如何处理Pylint的"太多实例属性"消息?

我刚刚尝试用Pylint lint一些代码,最后剩下的错误是

R0902: too-many-instance-attributes (8/7)
Run Code Online (Sandbox Code Playgroud)

我理解限制实例属性数量的基本原理,但有七个看起来有点低.我也意识到短号不应该有最后一个字.但是,我想知道我应该做什么,而不是:

def __init__(self, output_file=None, output_dir=None):
    """
    Set the frobnicator up, along with default geometries
    """

    self.margin = 30

    self.pos = [0, 0]
    self.sep = [5, 5]

    self.cell = [20, 20]

    self.frobbr = library.Frobbr()

    page = self.frobbr.get_settings('page')

    self.lim = [page.get_width() - self.margin,
                page.get_height() - self.margin]

    self.filename = output_file
    self.moddir = output_dir
Run Code Online (Sandbox Code Playgroud)

我应该将几何包装到一个字典中,做一些其他的事情来阻止Pylint抱怨,或者只是忽略它(我真的不想这样做)?

python instance-variables pylint code-readability code-structure

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

我应该如何可视化我的代码结构?

我有一个用Java编写的应用程序.In存储在多个文件中.它使用不同的类和不同的方法.代码又大又复杂.如果我有代码的图形模型(某种有向图),我认为理解代码会更容易.是否有一些标准的代码可视化方法.我正在考虑使用UML(不确定它是一个正确的选择).谁能推荐我一些东西?

添加:

我考虑两种可能性:

  1. 手动创建图形(显式).
  2. 以自动方式创建图形.例如,使用一些工具来读取可用代码并生成一些描述代码结构的图形.

增加2:

有免费的东西会很高兴.

java schema uml code-visualization code-structure

39
推荐指数
5
解决办法
2万
查看次数

React Native:如何将文件拆分成多个文件并导入它们?

我在反应原生中编写我的第一个应用程序,我的js文件变得非常大.拆分文件的正确方法是什么.

如果我有类似的东西

var MyClass = React.createClass({
  ...
})
Run Code Online (Sandbox Code Playgroud)

我可以将其保存myclass.js在另一个js文件中并通过某些命令包含吗?

javascript code-reuse code-structure libraries react-native

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

如何按标题自动排序方法?

以与.cpp文件相同的顺序对头文件中的方法进行排序是一种很好的方式,但通常这个顺序在开发过程中会变得粗糙.

如何将cpp文件中的方法重新排序为头文件中给出的顺序?

c++ header code-structure

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

Erlang源代码指南

我有兴趣深入研究Erlang的C 源代码,并尝试了解幕后发生的事情.我在哪里可以找到有关代码设计和结构的信息?

c erlang code-structure

17
推荐指数
2
解决办法
3305
查看次数

记录javascript方法的副作用

我正在尝试改进我的javascript代码的文档,并遵循JSDoc指南http://usejsdoc.org/.

我找不到如何记录故意的副作用.例如,以下方法:

/**
  * @description
  *   Paints the object red.
  * @return
*/
Painter.paintItRed = function(someObj){
    someObj.color = "red";
};
Run Code Online (Sandbox Code Playgroud)

您如何记录该方法直接作用于传递的对象的事实?一个不同的例子:

/**
  * @description
  *   If the user has not setUp a config, show config Modal.
  * @return
*/
User.checkConfig = function(user){
    if(!user.config.valid){
       showConfigModal();
    }
};
Run Code Online (Sandbox Code Playgroud)

这些是人为的例子和可能的"代码味道",但这是另一个问题.我正在研究如何记录这种行为(好的或坏的)的一些最佳实践.也许比这更好的东西//IMPORTANT!! This method is dangerous!

javascript documentation code-structure jsdoc

17
推荐指数
1
解决办法
1154
查看次数

清理大型遗留Java项目

我被指派在一个庞大的Java项目上做一些工作,并且几个迭代开发人员的影响是显而易见的.没有标准的编码风格,格式,命名约定或类结构.这是我和Javadoc一起上课的好日子,单元测试是一个快乐的白日梦.

到目前为止,我们这个项目的人已经"融入",适应我们正在进行的任何类别的现有惯例,但现在是时候强加一些秩序和一致性.

这是一项艰巨的挑战,我正在寻找人们可能对此类任务提出的任何建议.是否有任何特别有效的策略,或者需要注意的陷阱?尝试是一个好主意吗?

编辑添加:我不想给人一种项目不好的印象 - 它实际上是设计稳固而且写得很好.它只是感受它的年龄和维护的必然性......

java legacy formatting refactoring code-structure

14
推荐指数
2
解决办法
2001
查看次数

jQuery/JavaScript:检测滚动方向 - 代码结构问题

我需要检测用户滚动的方向 - "向上"或"向下".基于此答案中的代码:如何确定jQuery滚动事件的方向?

我试图将它包装在一个函数中,因此它有点区别 - 但不幸的是,它不起作用.我认为它与我如何返回值有关,但方向总是"向上".作为JavaScript的新手,我在解决这个问题时遇到了问题.

这是代码:

$(document).ready(function () {

    'use strict';

    var lastScrollTop = 0,
        st,
        direction;

    function detectDirection() {

        st = window.pageYOffset;

        if (st > lastScrollTop) {
            direction = "down";
        } else {
            direction = "up";
        }

        lastScrollTop = st;

        return  direction;

    }

    $(window).bind('scroll', function() {

        detectDirection();
        console.log(detectDirection());

    });

});
Run Code Online (Sandbox Code Playgroud)

我也建立了一个小提琴.

你能帮我找一下问题所在吗?

javascript jquery scroll return code-structure

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