首页 > 其他分享 >「实用」如何优化自己的码风?

「实用」如何优化自己的码风?

时间:2024-04-24 18:55:51浏览次数:23  
标签:std 空格 cout int 代码 码风 实用 优化

前言

相信不少同学们在前期接触编程时都会为一件事情而发愁,那就是写代码的风格,简称码风,我之前在洛谷上看到过很多题解,码风我都不大满意,所以切水题时需要格式化很长时间的代码,这一篇博客,我们就讲一讲如何优化自已的码风!

多用空格

有一天,QQ上咱们的业余工作室里有个刚刚编程入门的小白突然私信我,问我这道题怎么做,我心想这不就是一道普及组的题目吗?还是20世纪的,看我怎么快速解题!
结果全是WA

咳咳,额,刚才是意外,第二次不就顺利AC了吗?在此处先贴上我的代码:

#include <bits/stdc++.h>
using namespace std;
int a[1000];
int b[1000];
int main() {
 	int n;
 	cin >> n;
 	memset(a, 0, sizeof(a));
 	memset(b, 0, sizeof(b));
 	a[1] = 1;
 	for(int i = 1; i <= n; ++ i) {
		int temp=0;
		for(int j = 1; j <= 1000; ++ j) {
			a[j] = a[j] * i + temp;
			temp = a[j] / 10;
			a[j] = a[j] % 10;
		}
		temp = 0;
		for(int j = 1; j <= 1000; ++ j) {
			b[j] = b[j] + a[j] + temp;
			temp = b[j] / 10;
			b[j] = b[j] % 10;
		}
 	}
	int k;
	for(int i = 999; i >= 0; -- i){
		if(b[i] != 0) {
			k = i;
			break;
 		}
	}

	for(int i = k; i >= 1; -- i){
	 	cout << b[i];
	 }
    return 0;
}

因为我懒,所以在这里我就不解释这道题目了,就是一道高精度的模版题,没有什么难的

过了很长时间,我都关掉电脑了,那个小白的QQ又冒了个泡,于是我又要打开电脑,意思就是我刚才关电脑关了个寂寞,我****的

他在QQ上说:“老师,你这个代码我改了好长时间啊!”
我:“?我的代码还不能AC?难道复杂度还能优化?”
他:“不是,我的意思是你的代码空格好多啊!”
我:“啊?空格多不是一件好事吗?”
他:“我觉得写代码时打字不用打空格,要是我被怀疑抄题解就完蛋了!而且打空格干什么呢?这不是纯纯的浪费时间吗?”
我:“你等下,我觉得你说的话是一个很好的素材”
于是就有了这篇博客……

他把他的代码给我看了一下,其实我一看就想要破口大骂:“这码风TM的真像依托答辩!”

这里也给大家贴一下:

#include<bits/stdc++.h>
using namespace std;
int a[1000];
int b[1000];
int main()
{
 	int n;
 	cin>>n;
 	memset(a,0,sizeof(a));
 	memset(b,0,sizeof(b));
 	a[1]=1;
 	for(int i=1;i<=n;i++)
	{
		int temp=0;
		for(int j=1;j<=1000;j++)
		{
			a[j]=a[j]*i+temp;
			temp=a[j]/10;
			a[j]=a[j]%10;
		}
		temp=0;
		for(int j=1;j<=1000;j++)
		{
			b[j]=b[j]+a[j]+temp;
			temp=b[j]/10;
			b[j]=b[j]%10;
		}
 	}
	int k;
	for(int i=999;i>=0;i--)
	{
		if(b[i]!=0)
		{
			k=i;
			break;
 		}
	}

	for(int i=k;i>=1;i--)
	{
	 	cout<<b[i];
	}
    return 0;
}

不少人这时可能会想:啊?这不是我吗?

所以到最后,你们是更喜欢我的代码风格呢,还是更喜欢小白的代码风格呢?

答案显而易见了,所以这就是优化码风的第一招:多加空格

多换行?少换行?

看到这个标题的时候不知道大家的大脑有没有爆掉……

还是以刚刚那一道题目为例,小白的大括号经常一个括号就占了一行,但是我的大括号是和循环或判断在一起的,这就是标题中少换行的意思

至于多换行嘛,我们就以a+b为例吧:
code # 1

#include<bits.stdc++.h>
int a, b; int main() {std::cin >> a >> b; std::cout << a + b;}

code # 2

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main() {
	ll a, b;
	cin >> a >> b;
	cout << a + b;
	return 0;
}

总结一下,就是code1短小精悍但是码风像坨屎,code2虽然更长但是读起来更加舒服

那么现在,大家知道为什么标题是这样了吧

写在最后

其实码风总结到一起就是三个方面,也就是标题上所呈现的,但是我觉得,码风其实不是衡量一个人代码水平高低的标准,最后,码风还是得根据自己的选择,如果你觉得这篇随笔中的码风不合你意,请不要喷我,继续坚持你的码风吧!

如果这篇文章对你有帮助,不要忘了点击下面的推荐帮我上主页哦!

标签:std,空格,cout,int,代码,码风,实用,优化
From: https://www.cnblogs.com/charzie-blog/p/18156098

相关文章

  • mysql慢sql优化流程
    #查询慢sqlselectdb,time,infofromINFORMATION_SCHEMA.processlistwhereinfoisnotnull;#查看执行计划explainSELECTCOUNT(1)FROMtables_nameWHEREvalid=1;#查看表索引showindexfromtables_name; #查看表数据selectcount(*)fromtables_nam......
  • mysql系列文章---sql优化的7个方面
    1、主键优化主键存储规则:在innoDB引擎中,表数据都是根据主键顺序存放的,主键索引的叶子节点存的是这一行的行数据,非叶子节点只存索引主键设计的原则:a、主键最好顺序生成,否则在插入数据时会产生页分分裂。b、主键不要过长c、不要使用身份证作主键d、业务操作时尽量避免对主键......
  • 前端项目性能优化方案有哪些
    本文分享自天翼云开发者社区《前端项目性能优化方案有哪些》,作者:王****祺一、加载优化(减少http请求数)常用的减少HTTP请求的方法有以下几种:1.合并图片:当页面图片较多时,可以将相似的图片合并为一张大图,从而减少HTTP请求次数。对于不经常变化的图片,使用精灵图或雪碧图进行合并,可......
  • 【介绍一个组件】go: Copy-On-Write map,对读极多和写极少的场景做优化
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯代码请看:https://github.com/ahfuzhang/cowmap有这样一种场景:数据量不多的map,在使用中读极多写极少。为了在这种场景下做极致的优化,我实现了copy-on-write的map:其......
  • 【实用技巧】JSON格式转换方式
    1 前言对接开发中,常遇到的就是报文转换。比如从淘宝或者京东拉取订单,亦或是各个公司内部的WMS、OMS等交互,都涉及到格式转换。而大多的格式基本上都是JSON格式,当然也有一些老的SAP交互用的是XML格式的,还有一小部分webService接口也是用的XML格式。那我们这节就看看JSON......
  • 含子查询sql优化案例一例
    0.排查sqlselectEXECSQLEXECTIMERANGE,count(*)fromSQLLOG_OA_2024groupbyEXECSQLEXECTIMERANGEselectexecsqlstr,paramsstr,count(*)from(selectto_char(execsqlstr)execsqlstr,to_char(paramsstr)paramsstr,length(paramsstr)fromSQLLOG_OA_2024where......
  • 性能优化之使用HTTP2.0
    HTTP2.0的优势配置测试怎么查看当前网站http版本chromeHTTP协议版本检测Chrome控制台window.chrome.loadTimes(){commitLoadTime:1713866839.398connectionInfo:"h2"finishDocumentLoadTime:1713866839.995finishLoadTime:1713866841.436firstPa......
  • PyTorch中的优化器
    SDG优化器参数说明:(引用:https://developer.baidu.com/article/detail.html?id=2705103)学习率(LearningRate):学习率决定了模型权重更新的步长。较大的学习率可能导致模型训练不稳定,而较小的学习率可能导致训练速度缓慢。通常,你可以通过尝试不同的学习率来找到最佳值。默认情况下,学......
  • 甘特图是什么?利用甘特图来优化项目管理流程
     甘特图是项目管理软件中十分常见的功能,可以说每一个项目经理都要学会使用甘特图才能更好的交付项目。什么是甘特图?甘特图用来做什么?简单来说一种将项目任务与时间关系直观表示的图表,直观地展示了任务进度和持续时间。图片来源zz-plan甘特图一、甘特图的定义和特点1.定义......
  • JTCR-java.util 更多实用类-18
    BitSetBitSet类是用于存放二进制位值的布尔数组,数组大小按需增加。构造器为BitSet();//指定初始化数组大小BitSet(intsize);publicclassBitSetDemo{//bit1的值//{0,2,4,6,8,10,12,14}//bit2的值//{1,2,3,4,6,7,8,9,11,12,......