小编Jan*_*ard的帖子

如何让 pylint 和 autopep8 就如何缩进包装的函数定义达成一致?

如何让美化器autopep8和 linterpylint就如何缩进我的代码达成一致,而不完全禁用缩进格式/linting?我不介意它是第一种格式还是第二种格式,只要我可以Alt+F在 VSCode 中点击并信任输出。

美化者希望代码像这样缩进......

# autopep8 prettifier
def sum(
    a: int,
    b: int
) -> int:
    """Return the sum of a and b."""
    return a + b
Run Code Online (Sandbox Code Playgroud)

...但 linter 想要这样。

# pylint linter
def sum(
        a: int,
        b: int
    ) -> int:
    """Return the sum of a and b."""
    return a + b
Run Code Online (Sandbox Code Playgroud)

PEP8 标准将此列为格式化函数的一种方式,但他们没有提到当右括号放在单独的行上时如何缩进。我真的更喜欢有额外的换行符,因为这将输出格式放在自己的行上,它减少了将空行作为函数体中第一行的冲动。我稍微喜欢上面的第一个选项,因为这个选项将右括号与必须打开一个的行对齐。当使用类型提示时,Google 的 Python 风格指南推荐第一个缩进示例。

# PEP8 standard
def sum(
        a: int,
        b: int) -> int:
    """Return the sum …
Run Code Online (Sandbox Code Playgroud)

python pylint autopep8

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

是否仍需要在关闭XHTML中的空元素之前放置一个空格?

W3C建议在XHTML中的结束标记之前放置一个空格,因为这会使某些浏览器具有更好的向后兼容性,例如写入<br />而不是<br/>.但是那里还有浏览器,不能容忍你省略了空间吗?(W3C没有提到哪些浏览器会导致问题.)

我知道它并没有太多的差异.我只是喜欢较短的版本.因此,除非有充分的理由,否则我将在关闭空标记之前开始编码没有空格的XHTML.

xhtml coding-style

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

T4命名空间不能直接包含诸如字段或方法之类的元素

嗨,我刚刚开始使用T4模板,我需要根据控制器中的操作生成一个javascript文件.

我得到的代码都想通了忘记控制器和操作我唯一的问题是我在T4模板文件中收到此错误而我不理解它:

编译转换:命名空间不能直接包含字段或方法等成员

这是我的代码:

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="$(TargetPath)" #>

<#@ import namespace="System.Reflection" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="eConnect.WebApi.Helpers.T4.ControllerDetails" #>
<#@ import namespace="System.Web.Http;"#>
<#@ output extension=".js" #>

define(['services/logger', 
        'services/jsonDataService', 
        'services/config', 
        'services/cachingService'],
        function (logger, jsonDataService, config, cache) {
            var dataService = { };
            return dataService;
        });

<#
    var controllers = ControllersInfo.GetControllers();
    foreach(var controller in controllers) {
        Dictionary<string, ParameterInfo[]> actions = ControllersInfo.GetAllCustomActionsInController(controller, new HttpGetAttribute()); …
Run Code Online (Sandbox Code Playgroud)

c# t4

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

C# 中的 Foo().Result 和 Task.Run(() =&gt; Foo()).Result 有什么区别?

在 C# 中,这两个语句有什么区别?如果我在测试类的构造函数中使用第一个,则会出现死锁或类似情况,并且测试永远不会完成。使用第二个代码可以工作。

// Deadlock.
var r = MyMethod().Result;

// Works.
var r = Task.Run(() => MyMethod()).Result;
Run Code Online (Sandbox Code Playgroud)

更新:此提交中有更多上下文:https : //github.com/webCRMdotcom/erp-integrations/pull/92/commits/dd8af89899ce1de837ef6e34f0688a685a5cea3b

c# deadlock asynchronous

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

如何使用图形API从Facebook组中检索照片?

当我尝试从Facebook上的开放组中检索照片时,我得到一个空列表.

这个URL http://graph.facebook.com/275206825900621/photos给了我一个空列表.我期待看到我上传到测试组的照片列表.

{
   "data": [      
   ]
}
Run Code Online (Sandbox Code Playgroud)

问题可能与安全性有关,但我没有收到任何访问错误.如果我从URL的末尾删除/照片,我可以访问基本的公共信息,http://graph.facebook.com/275206825900621.

facebook facebook-graph-api

5
推荐指数
1
解决办法
1990
查看次数

我可以同时在多个iOS模拟器上运行Expo应用程序吗?

是否可以一次在多个版本的iOS Simulator上运行Expo应用程序?自动刷新两到三部iPhone真是太好了,这样可以轻松测试不同屏幕尺寸的布局。

(我知道我可以使用多个硬件设备执行此操作,并且我可以更改iOS Simulator应该使用的设备。)

ios-simulator expo

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

使用LINQ的层次数据总和?

是否可以使用.NET的LINQ对层次数据进行求和?

我的数据类如下所示:

class Node
{
    public decimal Amount;
    public IEnumerable<Node> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

所以我会有一些看起来像这样的数据,但树当然可以任意深入.

var amounts = new Node
{
    Amount = 10;
    Children = new[]
    {
        new Node
        {
            Amount = 20
        },
        new Node
        {
            Amount = 30
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

可以将所有金额相加并通过一个简单的LINQ查询得到结果60?

linq hierarchical-data

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

创建猪udf架构时出现问题

试图解析xml,我的UDF返回一个元组有问题.以http://verboselogging.com/2010/03/31/writing-user-defined-functions-for-pig为例

猪脚本

titles = FOREACH programs GENERATE (px.pig.udf.PARSE_KEYWORDS(program))
    AS (root_id:chararray, keyword:chararray);
Run Code Online (Sandbox Code Playgroud)

这是输出模式代码:

 override def outputSchema(input: Schema): Schema = {
    try {
      val s: Schema = new Schema
      s.add(new Schema.FieldSchema("root_id", DataType.CHARARRAY))
      s.add(new Schema.FieldSchema("keyword", DataType.CHARARRAY))
      return s
    }
    catch {
      case e: Exception => {
        return null
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

pig script failed to validate: org.apache.pig.impl.logicalLayer.FrontendException: 
ERROR 0: Given UDF returns an improper Schema. 
Schema should only contain one field of a Tuple, Bag, or a single type. 
Returns: …
Run Code Online (Sandbox Code Playgroud)

apache-pig

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