小编Jon*_*eau的帖子

正在写"这个".在实例变量和方法的好坏之前?

我在C++和Java中的一个令人讨厌的(?)编程习惯是始终在调用或访问成员之前使用this.例如:this.process(this.event).

我的一些学生评论了这一点,我想知道我是否在教习坏习惯.

我的理由是:

  1. 使代码更具可读性 - 更容易区分字段和局部变量.
  2. 使标准调用与静态调用(尤其是Java)区分开来更容易
  3. 让我记住,这个调用(除非目标是最终的)可能最终会出现在另一个目标上,例如在子类中的覆盖版本中.

显然,这对编译的程序没有任何影响,只是可读性.那么我是否或多或少可读?

注意:因为确实没有正确答案,我把它变成了CW.

c++ java coding-style

35
推荐指数
7
解决办法
4108
查看次数

更改Swift UILabel的文本

我正在尝试学习Apple的Swift.我最近尝试构建一个GUI应用程序,但我有一个问题:

如何与应用的GUI元素进行交互?例如,我使用界面构建器来创建UILabel,然后通过按住Control键点击它将它连接到我的viewcontroller,这样我就得到了@IBOUTLET.现在,在我的视图控制器中,如何编辑此UILabel的文本?换句话说,我可以使用什么代码以编程方式控制故事板上某些内容的文本?我在网上找到的所有方法似乎只能使用代码生成的按钮,而不是故事板上生成的按钮.

我见过像这样的代码

self.simpleLabel.text = "message"
Run Code Online (Sandbox Code Playgroud)

如果这是正确的,我如何将其与相关标签链接?换句话说,我如何调整此代码以与IBOutlet连接(如果这就是我的工作)

uilabel iboutlet ios swift

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

React-native Awesome项目没有构建android项目

我正在尝试学习react-native但我无法构建演示AwesomeProject.我在~/.bash_profile文件中设置了$ ANDROID_HOME变量.但每次我构建它我都会得到以下错误.

什么地方出了错:

 A problem occurred configuring project ':app'.
 Could not resolve all dependencies for configuration ':app:_debugCompile'.
 Could not find com.android.support:appcompat-v7:23.0.1.
 Searched in the following locations:
     file:/Users/<username>/.m2/repository/com/android/support/appcompat-v7/23.0.1/appcompat-v7-23.0.1.pom
     file:/Users/<username>/.m2/repository/com/android/support/appcompat-v7/23.0.1/appcompat-v7-23.0.1.jar
     https://jcenter.bintray.com/com/android/support/appcompat-v7/23.0.1/appcompat-v7-23.0.1.pom
     https://jcenter.bintray.com/com/android/support/appcompat-v7/23.0.1/appcompat-v7-23.0.1.jar
 Required by:
     AwesomeProject:app:unspecified
 Could not find com.android.support:appcompat-v7:23.0.1.
 Searched in the following locations:
     file:/Users/<username>/.m2/repository/com/android/support/appcompat-v7/23.0.1/appcompat-v7-23.0.1.pom
     file:/Users/<username>/.m2/repository/com/android/support/appcompat-v7/23.0.1/appcompat-v7-23.0.1.jar
     https link     Required by:
     AwesomeProject:app:unspecified > com.facebook.react:react-native:0.11.0
 Could not find com.android.support:support-v4:21.0.3.
 Searched in the following locations:
     file:/Users/<username>/.m2/repository/com/android/support/support-v4/21.0.3/support-v4-21.0.3.pom
     file:/Users/<username>/.m2/repository/com/android/support/support-v4/21.0.3/support-v4-21.0.3.jar
     https link
 Required by:
     AwesomeProject:app:unspecified > com.facebook.react:react-native:0.11.0 > com.facebook.fresco:fresco:0.6.1 > com.facebook.fresco:drawee:0.6.1
     AwesomeProject:app:unspecified > com.facebook.react:react-native:0.11.0 > com.facebook.fresco:fresco:0.6.1 …
Run Code Online (Sandbox Code Playgroud)

react-native

23
推荐指数
1
解决办法
7120
查看次数

AngularJS控制器和方法

我是angularjs的初学者,有一些关于控制器的问题.
这是我的示例控制器:

function exampleController($scope)
{
   $scope.sampleArray = new Array();

   $scope.firstMethod = function()
   {
      //initialize the sampleArray
   };

   $scope.secondMethod = function()
   {
      this.firstMethod();
   };
};
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  • 我怎么能叫firstMethodsecondMethod?我的方式是正确的,还是更好的方式?
  • 我如何为控制器创建构造函数?我需要调用调用初始化sampleArray的firstMethod的secondMethod?
  • 如何从html代码调用特定方法?我发现ng-initialize但我无法弄清楚如何使用它.

javascript angularjs

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

Java JList滚动到所选项目

我有一个JList很多项目,其中一个被选中.我想滚动到JList此处的所选项目,以便用户可以快速查看选择了哪个项目.

我怎样才能做到这一点?

String[] data = {"one", "two", "three", "four", /* AND A LOT MORE */};
JList dataList = new JList(data);
JScrollPane scrollPane = new JScrollPane(dataList);
Run Code Online (Sandbox Code Playgroud)

java swing scroll jlist

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

在django中测试自定义管理操作

我是django的新手,我在测试app_model_changelist下拉列表中的自定义操作(例如actions = ['mark_as_read'])时遇到了问题,它与标准的"删除选中"相同.自定义操作在管理视图中工作,但我不知道如何在我的模拟请求中调用它,我知道我需要发布数据但是如何说我想对我发布的数据执行"mark_as_read"操作?

我想反转changelist url并发布查询集,以便"mark_as_read"动作函数处理我发布的数据.

change_url = urlresolvers.reverse('admin:app_model_changelist')
response = client.post(change_url, <QuerySet>)
Run Code Online (Sandbox Code Playgroud)

testing django action admin request

17
推荐指数
3
解决办法
5219
查看次数

什么是android:layout_marginStart

我想在左侧显示边框和ImageView之间添加一些空格.Android SDK让我意识到"android:layout_marginStart".

考虑添加android:layout_marginStart ="10dp"以更好地支持从右到左的布局

我为什么要用android:layout_marginStart="10dp"而不是android:layout_marginLeft="10dp"?我从未这样做过,从未遇到任何所谓的"从右到左布局"的问题.

android android-layout android-xml android-view

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

实体框架 - CreateQuery VS ExecuteFunction VS ExecuteStoreQuery VS ExecuteStoreCommand

以下有何不同之处

CreateQuery()  ExecuteFunction(), ExecuteStoreQuery() and ExecuteStoreCommand() 
Run Code Online (Sandbox Code Playgroud)

据我所知,CreateQuery用于Entity SQL,其余的方法用于在DB中定义的sql函数或存储过程.

根据ObjectContext类元数据,它们如下:

CreateQuery():Creates an System.Data.Objects.ObjectQuery<T> in the current object context        by using the specified query string. 
Returned -> System.Data.Objects.ObjectQuery<T>


ExecuteFunction(): Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from
the function; and returns the number of rows affected by the execution.
Returned -> The number of rows affected.
This has an overloaded version which return -> The entity …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework executestorequery difference

11
推荐指数
1
解决办法
7395
查看次数

JPA - 必须为范围变量声明提供标识变量

我想知道为什么我得到"必须为范围变量声明提供一个识别变量." 我没有别名时出错.
当我向表中添加别名时,似乎我解决了问题.

代码有问题:

List result = entityManager.createQuery( "from Rental", Rental.class ).getResultList();
Run Code Online (Sandbox Code Playgroud)

解:

List result = entityManager.createQuery( "from Rental r", Rental.class ).getResultList();
Run Code Online (Sandbox Code Playgroud)

java jpa

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

动态转换货币

我有一系列不同货币的价值观.我想创建一个自动检测给定值货币的列,并将其转换为GPB(或任何其他给定货币).

我有以下查询汇率的公式:

=INDEX(GoogleFinance("eurgbp","price",date(2014,9,15)),2,2)
Run Code Online (Sandbox Code Playgroud)

但是,这需要您指定要转换的货币.我希望这是动态的,因为我的货币列表各不相同.

currency google-sheets

9
推荐指数
1
解决办法
1871
查看次数