开发者工具箱

质量是我们使用工具的结果。 我们对它们越熟悉,结果就会越好(或更快)。 当然,使用最少的工具集可以取得很多成就,但是要提高生产力,我们应该始终努力掌握当前的工具,并找到可以改善工作流程的新工具。 我一直在寻找新工具,所以如果您有我不使用的工具,请告诉我。

事不宜迟,这是我的工具箱:

GUI工具

1密码

保存您的密码并保存。 我使用了不同的密码管理器,但是10多年来我一直使用1Password。

短跑

曾经需要查找文档吗? 我在Dash中进行。 如果文档还不存在,我将导入它们。 这样,它们就可以脱机使用,并且所有集成(例如Xcode)都使用法变得更好。

小飞贼

想知道哪些应用程序尝试执行网络请求? 您要控制它们吗? 这是给您的工具。 我已经使用了多年了,它并没有让我失望。

网络链接调节器

作为移动开发人员,我们经常忘记,我们的应用程序未与稳定的互联网连接一起使用。 要在Macbook上复制它,我们可以使用Apples Network Link Conditioner。 只需按照您希望的方式更改网络,您的整个Mac都将具有此连接(因此,如果丢弃所有程序包以查看会发生什么情况,则在等待时无法读取reddit)。

爪子

有很多应用程序可以发送HTTP请求。 我用爪子。 使其比POSTman 更好的主要功能是链接请求。 这样,我不必每次都进行身份验证。 取而代之的是,我只运行一个命令,它执行了我需要的一切。

颤动

到目前为止,这是我最喜欢的笔记工具。 您不仅可以按集合(和子集合)对笔记进行排序,甚至还可以使用不同的单元格,这些单元格中包含代码,降价,文本等。 让它将整个注释呈现为pdf,就可以了。

里德

作为开发人员(尤其是移动开发人员),我们必须与时俱进。 通常,我们可以通过跟踪博客来做到这一点。 我通过使用Reeder来做到这一点。 这是一个汇总RSS feed的不错的小工具。

揭示

曾经有视觉缺陷吗? 是否曾与UX设计师合作? 显示是我的选择。 在一个新的代码库中,我可以启动它,查找带有错误的正确视图,找到类的名称,然后知道从哪里开始。 另一方面,借助UX设计器,我们可以坐下来实时更改属性(包括自动布局)。 真有用!

草图

每当我执行任何UI工作时,我都会在Sketch中进行。 它是如此易于使用,没有理由不这样做。 请注意,它仅是矢量,因此,如果要更改任何图像,则必须使用其他内容。

源树

Sourcetree是git的GUI。 我使用它是因为它简化了很多事情。 同时,您不应该完全依赖它。 学习一些纯git并使用它。 通过了解git的工作原理,您将有所改善。 仅仅知道如何设置钩子是值得的。 也有塔,但我只是不喜欢它。

崇高文字

我们每个人都需要一个文本编辑器。 对我来说,这是Sublime Text。 巨大的优势是插件系统。 我知道还有其他类似Atom的公司,但是如果不需要切换,请坚持使用。

拨动

我在一家从事内部计费的公司工作。 因此,我们必须找出时间。 我通过切换完成此操作,因为它提供了macOS和iOS应用。 此外,一位同事编写了Tampermonkey脚本,并将其导入到我们的计费应用程序中。 相当有用的😉

工作空间

您是否曾经同时从事多个项目? 根据您的设置,您希望在Finder中打开目录,启动开发服务器等。Workspaces会为您执行此操作。

Xcode

人们喜欢它,人们讨厌它。 我使用它,因为它是正确的工具,因为(我认为)没有其他选择。 AppCode看起来不错,但是我只有在很冷的时候才会启动它。 它只会消耗您的电池,您仍然必须对CoreDate,情节提要或什至简单的项目设置使用Xcode。 因此,只需学习它并相处。 重构现在包含在Xcode9中,因此减少了不使用它的原因之一。 我也听到了很多关于Xcode的抱怨,我根本没有经历过。 不要误会我的意思。 Jetbrains创建了惊人的IDE。 我使用Webstorm和Goland。 只是AppCode并不是其中之一,可能永远也不会。

终端工具

酿造

macOS上软件包管理的首选工具。 也有MacPorts,但我感觉越来越少的应用程序支持它。

邦德勒

Bundler是管理Ruby Gems的一种方法。 这样,每个项目都可以拥有自己的一组gem,然后将它们存储在存储库中。 只要您不必更改Ruby版本,就会很有帮助。

迦太基

我使用CocoaPods的次数越多,我就越讨厌它。 它创建一个工作区,修改项目导入,需要特定的Ruby版本,并且每次Xcode更新到主要版本时,我都必须更改Podfile中的签名。 相反,我正在使用迦太基。 它只是为您创建框架,然后您手动导入它。 您的项目没有更改,您没有这样做。 如果您正在使用基于自定义框架的大型遗留代码库(提供自定义xconfig的话),这也使导入变得更容易(是的,很遗憾,这个存在并且我已经进行了工作)。 因此,迦太基是我进行依赖性管理的工具。

快车道

我们都知道这一点。 Fastlane使我们可以轻松设置CI。 尽管要注意,但这只是移动开发。

马斯

mas使您可以编写设置脚本并从AppStore安装应用程序,而无需手动执行。

新2

这实际上不是工具,而是键盘布局。 我从来没有掌握过触摸系统,所以我决定选择一种键盘上没有显示的,专为编程设计的布局。 这是我的Neo2。 有时,我必须等待升级到最新的macOS之前,但这对我来说是值得的,因为我不必进行手指操练就可以达到“ {}”(看看德语键盘,您会明白我的意思)。

rbenv(goenv,pyenv)

在每个项目中,我都需要管理不同的环境。 根据Fastlane版本,我需要一个不同的Ruby版本。 其他工具可能需要Python等。我发现* env是我选择的工具。 它们易于设置并且具有相同的界面。 同时,当他们修改您的路径时,您确切地知道它们是如何工作的。 它们也不会替代您当前使用的任何工具。

清酒

这是一个不错的小型工具,可以快速替换make文件。 它仍在积极开发中,但它将成为我在macOS上运行CI脚本的转到工具。

SwiftLint

干净的代码库使开发更加容易。 好吧,您的代码! 我使用SwiftLint(和自定义的预提交钩子)进行此操作。 我知道也有Tailor,但是我更喜欢Swiftlint,因为它基于Swift。

荣誉提及

所有这些都是我很想尝试的工具,但是还没有时间做。 他们听起来仍然足够合理,可以在此处列出。

阿尔弗雷德

到目前为止,我对Spotlight完全满意。 一位同事向我展示了他对Alfred的处理方式,现在我必须尝试一下。 只需要时间。

完美无瑕的应用程序

是否必须检查您的实现是否符合所提供的设计? 这是给您的工具。 我最近没有在UI上工作,因此没有机会对其进行测试,但这听起来确实很棒!

尼克斯

上面我说过,我使用brew做软件包管理。 我们拥有的项目越多,状态就越多。 Nix试图通过将软件包的每个版本作为一个不可变对象来减少配置状态。 它将所有这些存储在它们自己的目录中,并为您管理使用的文件。 听起来不错!

洋克

简化拖放的工具。 总是更换窗户等让我很烦,所以我必须调查一下。