与长生不老药共度美好的一周

2020-05-21 02:32:53

自从2015年见到Ruby以来,我并不经常对编程语言感到兴奋。

早在那之前,沉浸在用Java编写大学课程作品的痛苦中,让我远离了开发。Ruby的自由和表现力是吸引我回来的原因,它的风格让我留在了里面。

我正在寻找另一种语言来扩展我的工具,结果遇到了几种语言,比如Crystal、Phyton、Elixir。但是我想,仅仅使用另一种面向对象的语言有什么意义呢?

因此,选择Elixir是不费吹灰之力的,我最终将用函数代码库体验一些有趣的并发功能。

我可以说,一周过去了,我已经对我的决定感到满意了。然而,原因并不主要与我对可能性的理解有关,更多的是因为欢迎这种语言的方式与以下最佳实践并驾齐驱。

从Ruby开始,我所关心的就是以快速和时尚的方式完成一些事情。

从长生不老药开始,我采取了一种不同的方法,不是因为我选择了,而是因为我接受了指导。

让我们来了解一下ELEXIR是如何欢迎新手使用这门语言的。

作为一门相当新的语言,我没有想到长生不老药有如此多的优质资源。官方文件本身就是黄金。这一点,加上药剂学校,就是我学习这门语言所需要的全部。

我再怎么强调记录代码库的重要性也不为过。然而,在大多数语言中,你会觉得它是一件可选的事情,因此大多被忽略了,或者没有始终如一地遵循。

由于内置了工具,编写和生成文档在Elixir中轻而易举。您甚至可以编写文档,这些文档将自动添加到您的测试套件中&&;mldr。

并不是所有的代码库都按时实现静态分析器,因此追赶起来就成了一件痛苦的事情。(我写了一篇关于如何在稍后阶段将静态代码分析引入Ruby项目的小文章。)。

有很多代码库甚至不知道一致格式的存在。

虽然看似琐碎,但它绝对不是。一致的样式不是可选的,而Elixir为我们提供了内置的代码格式化程序,从而帮助我们避免了这一点。

哈,我没想到有一天我还想再写一次。然而,主要是用金融工具/金钱工作,我宁愿在需要的时候更安全。

@doc";";";使用OAuth进行身份验证。如果成功,则返回{:OK,%Client{}},否则返回{:Error,%ApiError{}}。";";";";@spec Authenticate(String.t(),String.t())::{ATOM,Client.t()|ApiError.t()}def Authenticate(GRANT_TYPE\\";PASSWORD";,Scope\\";for Integration";)do params=%{Grant_type:Grant_type,Scope:Scope,UserName:Application.get_env(:Banco_bs2,:account).user,password:Application.get_env(:Banco_bs2,:account).pass}case HTTPoison.post(";#{@base_url<;>;@auth_endpoint}";,url_encode(Params),Headers())do{:OK,%Response{status_code:200,Body:Body}}->;HANDLE_SUCCESS(Jason.decode!(Body)){:OK,Response}->;Handle_Error(Response){:Error,%Error{Reason:Reason}}->;{:Error,%ApiError{message:";发生连接错误:#{Reason}";}}end

您的代码仍然可以编译,因为Elixir不是一种静态类型语言,但是,它将帮助您在编写代码时更加清晰。

能够在Elixir中访问成熟的Erlang生态库是一件很棒的事情,尽管不鼓励使用它。

我很惊讶,仅仅一周后,即使作为一个初学者,我也可以开始用一种新的语言和范例编写可维护的可读代码。

让我们看看这一切都会走向何方。决不是说我会少写Ruby,而是多写一些灵丹妙药。