Flutter的The file name ‘xxxx.dart‘ isn‘t a snake_case identifier警告

请添加图片描述

文章目录

  • 警告
  • 原因分析
  • 解决方法
  • dart的一些命名规则
    • 变量和函数命名:
    • 类和类型命名:
    • 常量和枚举:
    • 文件命名:
    • 包命名:
    • 注释:
    • 命名一致性:
    • 避免缩写:
    • 可搜索的命名:
  • 一些好习惯

警告

The file name ‘xxxx.dart’ isn’t a snake_case identifier

原因分析

这个警告指的是文件名 ‘appRouter.dart’ 不符合 Dart 命名约定中的 “snake_case” 命名规则。在 Dart 中,通常使用 “snake_case” 命名规则来命名文件、变量、函数等标识符。

解决方法

“snake_case” 命名规则要求将多个单词用下划线 _ 连接,并且全小写,例如 my_file.dart 或 my_function_name。这有助于使代码更易读和一致。

如果你的文件名不符合 “snake_case” 规则,Dart 会生成这样的警告,提醒你遵循命名约定,以便代码更易维护和协作。为了消除这个警告,你可以将文件名改为符合 “snake_case” 命名规则的格式,例如 app_router.dart。

dart的一些命名规则

在使用 Dart 开发 Flutter 应用时,有一些常见的命名规则和最佳实践,以帮助代码更具可读性和一致性。以下是一些重要的规则和建议:

变量和函数命名:

使用有意义的名字:变量和函数名应当描述其用途,以提高代码的可读性。
使用小写字母和下划线:Dart 通常使用小写字母和下划线 _ 来命名变量和函数,例如 my_variable。
遵循驼峰命名法:对于多个单词的命名,推荐使用驼峰命名法,例如 myFunctionName。

类和类型命名:

使用有意义的名字:类和类型应当使用描述性的名称,通常首字母大写。
遵循帕斯卡命名法:类名通常使用帕斯卡命名法,即每个单词的首字母大写,例如 MyClass。

常量和枚举:

常量通常使用全大写字母和下划线,例如 MY_CONSTANT。
枚举类型的命名应当遵循 Dart 的命名约定,通常首字母大写,如 Color。

文件命名:

文件名通常使用小写字母和下划线,例如 my_file.dart。
用于声明库的 Dart 文件通常以 library.dart 结尾,如 my_library.dart。

包命名:

包名(package name)通常使用小写字母,不包含空格或特殊字符。

注释:

使用有意义的注释:在代码中使用注释来解释重要逻辑和功能。注释应当清晰、简洁,有助于他人理解代码。

命名一致性:

保持一致的命名约定:在整个应用或项目中,遵循一致的命名约定是非常重要的,以确保代码的可维护性和可读性。

避免缩写:

尽量避免缩写,除非缩写是广泛理解的。使用全词(full words)命名可以提高代码的可读性。

可搜索的命名:

使用具有搜索价值的名称,以便在代码编辑器中轻松搜索和定位变量、函数和类。

这些命名规则和最佳实践有助于编写清晰、易维护的代码,提高代码质量和协作能力。遵守这些规则有助于确保你的 Dart 和 Flutter 代码具有一致性,并更容易与其他开发人员协作

一些好习惯

代码格式化: 使用工具如 dartfmt 或 IDE 提供的代码格式化功能,以确保代码的格式一致。这有助于提高代码的可读性。

导入顺序: 导入语句通常按照以下顺序排列:

Dart 的核心库。
第三方库。
你自己的库。
最小化作用域: 将变量和函数的作用域保持最小化,只在需要时暴露公共接口。这有助于封装和隐藏内部实现。

避免深度嵌套: 避免过多的嵌套,以降低代码的复杂性。尽量保持代码的扁平性。

类型注解: 尽量为函数参数和返回值添加类型注解,以提高代码的可读性和可维护性。

遵循平台特定规则: 如果你同时开发 Android 和 iOS 版本的应用,遵循各个平台的命名和设计规则,以确保应用在不同平台上的一致性。

异常处理: 合理地捕获和处理异常,以确保应用的稳定性。避免不必要的异常捕获。


结束语
Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/122203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[已解决]安装的明明是pytorch-gpu,但是condalist却显示cpu版本,而且torch.cuda.is_available 也是flase

问题; 安装了gpu版本的pytorch,但是显示的torch.cuda.is_available()却是flase。 conda list查看 版本显示只有cpuonly 在网上找了半天,也没有解决办法。 仔细看了一下,发现,有个单独的包叫cpuonly,不知道…

33基于MATLAB的对RGB图像实现中值滤波,均值滤波,维纳滤波。程序已通过调试,可直接运行。

基于MATLAB的对RGB图像实现中值滤波,均值滤波,维纳滤波。程序已通过调试,可直接运行。 33 MATLAB、图像处理、维纳滤波 (xiaohongshu.com)

linux入门---多线程的控制

目录标题 线程库pthread_create如何一次性创建多个线程线程的终止线程的等待线程取消分离线程如何看待其他语言支持的多线程线程id的本质线程的局部存储线程的封装 线程库 要想控制线程就得使用原生线程库也可以将其称为pthread库,这个库是遵守posix标准的&#xf…

小美的修路(最小生成树练习)

本题链接:登录—专业IT笔试面试备考平台_牛客网 题目: 样例: 输入 3 4 1 2 3 1 1 2 2 0 1 3 1 0 2 3 3 0 输出 2 1 3 思路: 由题意,这里建造的城市需要修路,且每个城市之间可以联通,且 是 1 …

Nautilus Chain 联合香港数码港举办 BIG DEMO DAY活动,释放何信号?

在今年的 10 月 26 日 9:30-18:30 GMT8 期间,Nautilus Chain 联合香港数码港共同举办了 “BIG DEMO DAY” Web3 项目路演活动,包括Xwinner、Sleek、Tx、All weather、Coral Finance、DBOE、PARSIQ、Hookfi、Parallels、Fintestra 以及 dot.GAMING 等在内…

异步请求池——池式组件

前言 本文详细介绍异步请求池的实现过程,并使用DNS服务来测试异步请求池的性能。            两个必须牢记心中的概念: 同步:检测IO 与 读写IO 在同一个流程里异步:检测IO 与 读写IO 不在同一个流程 同步请求 与 异步请求…

服务运营 |论文解读: 住院病人“溢出”:一种近似动态规划方法

摘要 在住院床位管理中,医院通常会将住院病人分配到相对应的专科病房,但随着病人的入院和出院,可能会出现病人所需的专科病房满员,而其他病房却有空余床位的情况。于是就有了 "溢出 "策略,即当病人等候时间…

微服务-Feign

文章目录 Feign介绍Feign的基本使用自定义Feign的配置Feign性能优化Feign最佳实践 Feign介绍 RestTemplate远程调用存在的问题:代码可读性差,java代码中夹杂url;参数复杂很难维护 String url "http://userservice/user/" order.g…

ResNet(CVPR2016)

文章目录 AbstractIntroductionRelated WorkResidual RepresentationsShortcut Connections Deep Residual LearningResidual LearningIdentity Mapping by Shortcuts ExperimentConclusion 原文链接 Abstract 深层的神经网络更难训练,我们提出了一个残差学习框架&…

怎么突破反爬虫机制

在当今的数字化时代,网络爬虫已经成为了收集信息和数据的重要工具。然而,许多网站和平台都配备了反爬虫机制,以防止恶意攻击和过度访问。对于普通用户来说,如何突破这些反爬虫机制呢?本文将为你提供一些实用的技巧和建…

Nginx的进程结构实例演示

可以参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx 1.14.0。 nginx.conf文件中worker_processes 2;这条语句表明启动两个worker进程。 sudo /nginx/sbin/nginx -c /nginx/conf/nginx.conf开启nginx。 ps -ef | grep nginx看一下进程情况。 sudo /nginx/sbin/ng…

【Bond随你温故Kubernetes之】壹图复盘service与内部通信

最近跟朋友聊到了k8s 我: “环境给了就只管用呗,副本自动管理地妥妥的,有啥可以复盘的?“ 朋友: “容器的通讯与服务暴露还是有点东西的” 我: “嗯~~(抿嘴点…

C语言每日一题(21)删除排序数组中的重复项

力扣 26.删除排序数组中的重复项 题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考…

计算机网络基础二

课程目标 了解 OSI 七层模型分层结构 了解 TCP/IP 协议簇四层模型分层结构 能够说出 TCP/IP 协议簇中 运输层、网络层和数据链路 层常见的 相关协议 能够说出 TCP/IP 的三次握手四次断开过程 了解 Vmware 的三种网络模式 能够使用客户端工具连接虚拟机 掌握主机名、 DNS…

Android S从桌面点击图标启动APP流程 (六)

系列文章 Android S从桌面点击图标启动APP流程 (一)Android S从桌面点击图标启动APP流程 (二) Android S从桌面点击图标启动APP流程 (三) Android S从桌面点击图标启动APP流程 (四) Android S从桌面点击图标启动APP流程 (五) Android 12的源码链接: android 1…

【OpenCV实现图像的算数运算,性能测试和优化,改变颜色空间】

文章目录 OpenCV功能概要图像的算数运算性能测试和优化改变颜色空间对象追踪 OpenCV功能概要 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,提供了丰富的图像处理和计算机视觉算法。它支持多种编程语言&…

Java中的volatile关键字

volatile是什么? "volatile"是一个关键字,用于修饰变量。它的作用是告诉编译器该变量可能会在意料之外的时候被修改,因此编译器在对该变量进行优化时需要特别小心。 具体来说,当一个变量被声明为"volatile"…

算法通过村第十七关-贪心|白银笔记|贪心高频问题

文章目录 前言区间问题判断区间是否重复合并区间插入区间 字符串分割加油站问题总结 前言 提示:如果生活把你的门关上了,那你就再打开,这就是门,门就是这样的。 --佚名 贪婪的思想不一定要理解的很透彻,但是贪婪的问题…

Cookie技术

Cookie中文名称为小型文本文件,指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据。 Cookie是由服务器端生成,发送给User-Agent(—般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文…

软考系列(系统架构师)- 2013年系统架构师软考案例分析考点

试题一 软件架构(根据描述填表、ESB 定义和功能) 【问题1】(10分) 服务建模是对Ramp Coordination信息系统进行集成的首要工作,公司的架构师首先对Ramp Coordination信息系统进行服务建模,识别出系统中的两…