小编ala*_*ode的帖子

具有高质量代码的开源Objective-C项目?

我认为学习新编程语言的最佳方法之一是深入研究源代码,看看有经验的编码员如何编写.我发现这里的问题在Stack Overflow上有其他语言,但没有针对Objective-C.我发现的最接近的问题是关于好看的Cocoa用户界面的这个问题,但我正在思考一般代码质量,例如好用的习语和设计模式,以及可用的文档.另一个好的特征是代码库足够大,需要真正的组织纪律,但足够小,初学者可以适应他/她的头脑.

您认为符合这些标准的高质量开源项目是什么?

cocoa objective-c

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

用于确定组中最小支付的算法

问题

我最近被要求计算一起去旅行的一群人所欠的钱,并且遇到了一个有趣的问题:假设你知道每个人欠另一个人的金额,那么巩固人与人之间债务的一般算法是什么?这样只需要支付最少的款项?以此为例:

  • 迈克欠约翰100
  • 约翰欠雷切尔200
  • 迈克欠雷切尔400

我们可以通过重新制定这样的债务来取消迈克和约翰之间的付款:

  • 迈克欠约翰0
  • 约翰欠Rachel 100
  • 迈克欠雷切尔500

我手工完成了数学计算,因为它很容易,但是后来我的程序员很想找到一个通用的算法来为一个任意大的组做这个.这对我来说似乎是一个图算法,所以我将其重新表示为图:

以图表形式查看

  • 顶点是组中的人
  • 边缘由所欠的金额定向和加权.例如,从Mike到Rachel的重量为500的边缘意味着Mike欠Rachel 500.
  • 约束:每个节点的净重和必须保持不变.
  • 目标是找到具有仍满足约束的最小边数的图.

language-agnostic algorithm

11
推荐指数
5
解决办法
3646
查看次数

Mac OS X上的Java Swing GUI

你有没有尝试过只使用Swing来改变课程,因为它根本无法做到你想要的?

我对Swing很新,仅仅在5年前用于学校项目,但似乎Swing在提供更原生的外观和感觉方面已经走了很长的路,所以我正在考虑用它来开发Mac OS X上的应用程序的GUI.但在此之前,我想看看是否有人遇到任何阻止他们使用Swing的showstopper问题.

在我的头顶,一些可能性:

  • 开发看起来"正确"的自定义组件的问题
  • 与本机应用程序和小部件的错误交互
  • 性能问题(无响应,重新绘制问题)
  • 无法模仿本机行为(如Dock交互)

java macos user-interface swing

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

Scala:使用StateT monad转换器组成的选项的错误推断类型

我对Haskell monad变换器有点熟悉,但对Scalaz(版本7)不熟悉.我从以下Haskell代码中做了(我认为是)一个简单的翻译:

import Control.Monad.State

type Pass a = StateT String Maybe a

monadTest :: Pass String
monadTest = do
    s <- get
    return s
Run Code Online (Sandbox Code Playgroud)

这个Scala代码:

import scalaz._
import Scalaz._

object StateTest {
  type Pass[A] = StateT[Option, String, A]

  def monadTest: Pass[String] =
    for {
      s <- get[String]
    } yield s
}
Run Code Online (Sandbox Code Playgroud)

Haskell代码编译.Scala无法编译,出现以下错误:

[error] .../StateTest.scala:9: type mismatch;
[error]  found   : scalaz.IndexedStateT[scalaz.Id.Id,String,String,String]
[error]  required: StateTest.Pass[String]
[error]     (which expands to)  scalaz.IndexedStateT[Option,String,String,String]
[error]       s <- get[String]
[error]         ^
Run Code Online (Sandbox Code Playgroud)

首先,似乎scalaz实现StateTIndexedStateT.好.但是,似乎get[String] …

monads haskell scala monad-transformers scalaz

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