搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
AllinToyou
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
6种SQL数据去重技巧!_sql 去重
2
Python入门知识点、期末复习必备(超基础知识点)_python学习
3
threejs字体加载(threejs版本85左右)_new three.fontloader();
4
Python库学习(十四):ORM框架-SQLAlchemy_sqlalchemy orm
5
MySql学习之慢SQL优化和慢SQL案例_slow sql 1108
6
一文搞清楚LoRa网关,LoRa网关全知道_lora基站与lora传感器必须用用同一个品牌嘛
7
AI-人工智能、机器学习和深度学习的区别?_nlp与机器学习、ai什么区别
8
【Python+百度API】 文本情感倾向分析
9
MLX90640 热成像 热像仪 OV2640 双光融合_mlx90640 热红外成像 说明书
10
vue-element-admin-master英文改中文;npm install报错:npm ERR! command git --no-replace-objects ls-remote ssh:_vue a git connection error occurred npm err! comma
当前位置:
article
> 正文
软件开发中需要克服的坏习惯_软件开发需要克服
作者:AllinToyou | 2024-05-05 01:11:43
赞
踩
软件开发需要克服
1. 代码中有拼写错误
不要惊讶,这是非常常见的问题,最令你抓狂的是这和你的编程能力没有任何关系。尽管如此,一个拼错了的变量名字或函数名字都会带来灾难性的后果,而且它们还不易被察觉。
那么如何解决呢?你应该使用一个好的集成开发环境(IDE)或一个编程专用的代码编辑器,它们都可以极大程度地帮助你减少拼写错误。还有一种方法就是,特意选那些容易拼写的名字作为变量和函数名,这样容易发现错误。避免那些易拼错的词,像receive很容易写错成recieve,而且它们很难被发现。
2. 代码没有缩进或格式化
对代码进行缩进或统一格式,可以让人更容易阅读,也容易对错误进行定位。另外,因为是连贯的格式,其他人维护你的代码也更方便。
如果你使用的IDE不能自动统一代码的格式,可以考虑使用像Uncrustify这样的代码美化器,它能根据你的设置对代码进行格式化。
3. 没有让代码模块化
让每个函数实现且只实现一个功能,这样会让函数更短,相应的就好理解和维护。比较长的函数里面通常有很多路径,这对测试来说也比较难。
一个好的经验准则就是一个函数的长度不应该超过你的屏幕。还有就是,如果一个函数里有超过10个的if语句或循环语句,那它就太复杂了,需要重写。
4. 你误以为你的IDE很安全
IDE和其它的一些工具可以提高写代码的效率,它们可以根据你已有的输入和作用域,建议(补全)你的变量名字或其他内容。但是,这类工具是不够安全的,你会因为一些选项看起
来很想你需要的那个就选了它,其实你并没有他就是那个你想要的。事实上,它只是减少了你的思考,但你还需要进行确认。
5. 过早的优化代码
具有传奇色彩的程序员Donald Knuth曾经说过:“程序员花了很多时间在思考那些非关键部分的代码,这样的优化反而对后续的调试和维护起到了负面作用。”费尽心思让它运行得快了一点点,但却让你的代码变得更难调试和维护了。一个真正好的策略是:先清晰地写好你的代码,然后如果有一部分程序确实需要优化从而提高性能的话,你再去做这项工作。
6. 没有提前的规划
你的项目用来做什么?你对它的预期规模是多大?有多少用户会使用它?它可以运行得多快?这些问题的答案不是现成和确定的,但如果你对它们进行了错误的估计,那你如何选出一个合适的开发框架,从而满足需求呢?
7. 增加人手加快进度
几乎所有的软件开发项目都落后于计划,增加项目的人手从理论上来讲是可以的,也很不错。但这其实是一个常见误区,事实上,这样通常都会降低整体的效率。
8. 使用错误的时间预期
同样,不要存在幻想,你可以赶上落后的进度。如果你已经落后于计划的时间表了,这是由于你预估的时间是错误的,这时你应该重新评估整个项目的周期,而不是盲目地坚持那个错误的时间规划。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/AllinToyou/article/detail/536684
推荐阅读
article
ClickHouse
从
入门
到精通(
一
)_
clickhouse
入门
、实战与进阶
pdf
...
ClickHouse
从
入门
到精通
ClickHouse
入门
篇
ClickHouse
入门
ClickHouse
是由俄罗斯的 ...
赞
踩
article
口译
情景
实训
系统
模拟外语
情景
教学
_new
campus
口译
系统
...
在模拟的场景中,他们可以模仿指定的文本,进行口语表达,并通过与
系统
自动给出的参考答案进行对照,帮助他们更好地发现自己的不...
赞
踩
article
MySQL
子
查询
之
相关
子
查询
_
mysql
相关
子
查询
...
1.
相关
子
查询
执行流程 如果
子
查询
的执行依赖于外部
查询
,通常情况下,
子
查询
的表用到了外部的表,并进行了条件关联.因此每执...
赞
踩
article
计算机科
学
(
Computer
Science
)到底
学
什么
?_
什么
是
计算机科
学
...
计算机科
学
(
Computer
Science
)到底
学
什么
?很多在校的CS
学
生入
学
一两年了,还不知道CS到底
是
什么
,也很疑...
赞
踩
article
[置顶]
Android
L
SurfaceFlinger
dump
信息
全解(
1
)_
dump
哪个是楼...
http://demo.netfoucs.com/lee_3do/article/details/430
1
6299[置顶...
赞
踩
article
helm
部署
JumpServer
登陆
web
界面提示连接
web
socket
失败_
jumpserver
...
解决方法 ,修改
ingress
规则即可。_
jumpserver
helm
ingress
jumpserver
helm
...
赞
踩
article
低效率
开发人员
的
4种
坏习惯
...
这是一篇翻译自Medium
的
文章,原文标题:4 Habits That Make You an Inefficient ...
赞
踩
article
物
联网
项目实战开发之
GeekOpen
MTQTT
插座
10分钟
接入
阿里云平台...
极客智能硬件应用俱乐部打造的
GeekOpen
智能开关、智能
插座
、智能通断器等产品,致力于以软件开发者为核心,助力技术落地...
赞
踩
article
Android
Material
Design
之
CardView
(卡片式布局)_
android
ma...
目录1.
CardView
概念2.
CardView
常用属性3.
CardView
的使用3.1 创建
CardView
3.2 C...
赞
踩
article
快速了解
Linux
IPC
...
简单介绍了
Linux
IPC
以便快速了解基本内容。快速了解
Linux
IPC
目录 一、
IPC
简...
赞
踩
article
四级
高频
词汇
...
四级
高频
词汇
1.alter v. 改变,改动,变更2.burst vi.n. 突然发生,爆裂3.dispose vi. ...
赞
踩
article
list
.
stream
().map().
collect
(
Collectors
.toList())...
ist.
stream
().map().
collect
(
Collectors
.toList())_
collect
(coll...
赞
踩
article
学习
Kotlin
看哪些
书
?【赠
书
活动|
第八期
《深入实践
Kotlin
元
编程
》】_
kotlin
书
籍...
与Java一样,
Kotlin
也是用于Android应用程序开发的
编程
语言,是Android官方支持的第二种
编程
语言。20...
赞
踩
article
用
MQTT
.
fx
模拟
温度
设备
联调阿里云IOT物
联网
平台_
mqtt
模拟
器...
阿里云物
联网
平台是一个集成了
设备
管理、数据安全通信和消息订阅等能力的一体化平台。向下支持连接海量
设备
,采集
设备
数据上云;...
赞
踩
article
学习
笔记-
Frida
综合
案例
...
Frida
综合情景
案例
六层锁机
案例
调用静态函数和调用非静态函数设置(同名)成员变量内部类,枚举类的函数并hook,tra...
赞
踩
article
既有方向又会动
的
线
,包你学会制作按
箭头
方向
流动
的
线
(
three
.
js
实战3)_
使用
javascrip...
制作按
箭头
方向
流动
的
线
1.demo效果2.
实现
思路3.
实现
要点3.1 创建
箭头
流动
线
3.2 创建
流动
线
3.3 更新纹...
赞
踩
article
Android
CardView
基础使用...
一、
CardView
顾名思义,就是卡片布局。现在卡片布局越来越普及了,以前都是各种shape来实现卡片效果,现在可以直接...
赞
踩
article
群晖
root
_
群晖
安装
下载工具
Transmission
以及配置
Transmission
Web
U...
群晖
自带Download Station
下载工具
,但是功能较弱,起速较慢,它可以下载BT、http、ftp、ed2k等等...
赞
踩
article
sql
大
数据
基础
(
DCL
数据
控制语言)
_
大
数据
应用
基础
sql
语音...
权限
数据
库安全性:系统安全性
数据
安全性系统权限: 对于
数据
库的权限对象权限: 操作
数据
库对象的权限方案: 一组
数据
库对象...
赞
踩
article
Ubuntu
MySQL
客户端功能介绍(
mysql
-
client
)
mysql
命令(
mysql
客户端命...
在数据驱动的世界中,
MySQL
作为最流行的开源关系
数据库
管理系统之一,无疑占据了重要的地位。对于
Ubuntu
用户来说,使...
赞
踩
相关标签
ClickHouse
安装
数据类型
库引擎
表引擎
虚拟现实
p2p
网络协议
网络
计算机科学
前端
websocket
智能家居
智能硬件
嵌入式硬件
物联网
linux
sketch
java
linq
开发语言
学习
kotlin
阿里云