首页 > 其他分享 >eqwalizer WhatsApp 开源的erlang类型检查工具

eqwalizer WhatsApp 开源的erlang类型检查工具

时间:2024-01-03 12:31:31浏览次数:37  
标签:github demo https WhatsApp erlang com eqwalizer

可能大家都听说过WhatsApp 对于erlang 使用是比较多的,WhatsApp 的IM 系统就是基于erlang 开发的,同时WhatsApp 也开源了
一些erlang周边的工具eqwalizer 是一个类型检查的,可以与rebar 以及非rebar 项目集成

参考使用

基于rebar的项目

 

 
{erl_opts, [debug_info]}.
 
{deps, [
  {eqwalizer_support,
    {git_subdir,
        "https://github.com/whatsapp/eqwalizer.git",
        {branch, "main"},
        "eqwalizer_support"}}
]}.
 
{shell, [
    {apps, [second]}
]}.
 
 
{project_plugins, [
  {eqwalizer_rebar3,
    {git_subdir,
        "https://github.com/whatsapp/eqwalizer.git",
        {branch, "main"},
        "eqwalizer_rebar3"}}
]}.

 

  • 使用命令
elp eqwalize-all

效果

eqwalizer  WhatsApp 开源的erlang类型检查工具_git

添加一个类型check

 

-module(second_demo).
 
-export([demo/1]).
 
 
-spec demo(atom()) -> atom().
demo(name) ->
    name,
    ok.
调用

start(_StartType, _StartArgs) ->
    second_demo:demo("name"),
    second_sup:start_link().

 

效果

eqwalizer  WhatsApp 开源的erlang类型检查工具_github_02

参考资料

https://github.com/WhatsApp/eqwalizer
https://rebar3.org/docs/configuration/plugins/#quickcheck
https://github.com/WhatsApp/eqwalizer/blob/main/FAQ.md

标签:github,demo,https,WhatsApp,erlang,com,eqwalizer
From: https://blog.51cto.com/rongfengliang/9082244

相关文章

  • WhatsApp网页版及电脑版登录教学和使用指南
    WhatsApp 作为海外版“微信”,是出海人日常对外沟通的重要桥梁。由于其自身的及时性和便捷性,已经开始逐步替代电子邮件,成为跨境电商和外贸客户沟通的主要工具。为了更好地服务用户,WhatsApp于2015年及2016年分别推出WhatsApp网页版和WhatsApp桌面版,让用户可以直接通过电脑或平板电脑......
  • erlang -type 以及-spec 使用
    很多时候我们编写的模块方法需要明确的参数类型,方便使用,-type以及-spec就提供了此能力参考使用app.erl-module(app). -export([myadd/1,mydemo/1]). -typeadd()::{integer(),integer()}. -specmyadd(add())->integer(). myadd(Args)-......
  • erlang.mk erlang 应用构建工具
    erlang.mkerlang应用构建工具,主要以来了make进行erlang应用的构建安装使用核心是一个依赖工具,如果安装了xcode,git以及make都是包含了的基础安装brewinstallerlanggitmake安装erlang.mkwgethttps://erlang.mk/erlang.mk或者......
  • rebar3 erlang 项目管理工具
    rebar3是erlang提供的构建,测试以及发布工具安装下载wgethttps://s3.amazonaws.com/rebar3/rebar3&&chmod+xrebar3安装./rebar3localinstall之后配置环境变量使用提供的命令asHigherorder......
  • 想要认证WhatsApp绿勾?看这一篇文章就够
    在WhatsApp里面经常会出现很多伪装成官方账号的冒充账号。WhatsApp绿勾作为一种官方授予的标识可以帮助用户准确识别并区分出真正的官方账号,避免被冒充账号而误导。而且企业获得WhatsApp绿勾后,即使用户是第一次收到您的信息,信息也不会显示「封锁」或「举报」的选项,因为 WhatsApp ......
  • WhatsApp群发功能的代码揭秘
    随着社交媒体的普及,WhatsApp作为一款全球性的即时通讯工具,已经成为人们生活中不可或缺的一部分。今天,我们将为您揭秘WhatsApp群发功能的代码,帮助您更好地了解这一方便快捷的通讯方式。一、WhatsApp群发功能简介WhatsApp群发功能可以让用户将一条消息发送给多个接收者,这一功能对于商......
  • 无涯教程-Erlang - is_alive函数
    如果本地节点处于活动状态并且可以是分布式系统的一部分,则返回true。否则,它返回false。is_alive-语法is_alive()is_alive-返回值如果本地节点处于活动状态并且可以是分布式系统的一部分,则返回true。否则,它返回false。-module(helloLearnfk).-export([start/0]).sta......
  • 无涯教程-Erlang - spawn函数
    这用于创建新进程并对其进行初始化。spawn-语法spawn(Function)Function - 需要产生的功能。spawn-返回值此方法返回一个进程ID。-module(helloLearnfk).-export([start/0]).start()->spawn(fun()->server("Hello")end).server(Message)->io:f......
  • 无涯教程-Erlang - unregister函数
    这用于注销系统中的进程。unregister-语法unregister(atom)atom-这是要赋予该过程的注册名称。unregister-示例-module(helloLearnfk).-export([start/0,call/2]).call(Arg1,Arg2)->io:fwrite("~p~n",[Arg1]).start()->Pid=spawn(?MODULE,cal......
  • 无涯教程-Erlang - register函数
    这用于在系统中注册进程。register-语法register(atom,pid)atom-这是要赋予该过程的注册名称。pid  -这是需要绑定到原子的进程ID。register-示例-module(helloLearnfk).-export([start/0,call/2]).call(Arg1,Arg2)->io:fwrite("~p~n",[Arg1]).......