本篇文章适用语言:python,c++,Java.(其实我就是随便bb)
我们在编辑代码的时候,不免拿其他人的代码进行学习,或者将自己的代码拿给别人修改.这个时候,如何让别人快速读懂你的代码,是提升效率的关键,而且一个好的码风可以让自己读起来也赏心悦目.那么接下来我就会对这一部分进行讲解.

变量命名

我将码风分为两个部分,变量命名和代码书写.

变量命名当中,最最最最恶心的一点就是拿拼音来为变量命名,你拿x,y,z都好过.什么书本的数量用"shuben",你是小学没学过吗?我幼儿园都会"book".不仅打起来麻烦而且让人感觉你很low.要是让我看见还让我给他改代码我就一拳上去.

比如答案就用"ans"(answer),表示访问的不要用bj(标记),"flag","vis","visit"用着不香吗?拼音很容易让人不知道什么意思,常常过两天来看你自己都不知道.而用英文简写就很容易让人知道什么意思.这也就是代码编辑中的约定俗成.

再者,比如循环变量i,j,k,实在不行加一个l,乱七八糟的不要用.abcxyz等最好不要在太多地方使用,n,m都可以.

代码书写

使我们的代码变得清晰美观的只有一个键--空格.空格的使用使代码变得不那么拥挤.

比如在使用逗号的时候,可以将逗号后面留一个空格.其次,在"="前后也可以有空格,";"后面也允许用空格,"==","&&","||",">=","<="前后我都会加空格
比如在for语句里,我经常这么写:for(int i = 1; i <= n; i++).

但这不是强行要求,你可以在上面进行更改,只要你看着比较美观就好.

示范

随便copy一个同学的代码(来源:洛谷)

#include<bits/stdc++.h>
using namespace std;
int x,sum;
int cf(int a,int b){
    int z=1;
    for(int i=0;i<b;i++){
        z*=a;
    }
    return z;
}
void digui(int n){
    int y;
    if(n==0) return;
    for(int i=0;i<=15;i++){
        y=i;//进行储存
        if(cf(2,i)>n){
            y--;
            break;
        }
    }
    if(y==0) cout<<"2(0)";
    if(y==1) cout<<"2";
    if(y>1){
        cout<<"2(";
        digui(y);
        cout<<")";
    }
    if(n!=cf(2,y)){
        cout<<"+";
        digui(n-cf(2,y));
    }
}
int main(){
    cin>>x;
    digui(x);
    return 0;
}

其实这样我是不推荐的,下面是我更改码风过后的代码:

#include<bits/stdc++.h>
using namespace std;
int x, sum;
int cf(int a, int b)
{
    int z = 1;
    for(int i = 0; i < b; i++)
        z *= a;
    return z;
}
void dg(int n)
{
    int y;
    if(n == 0)
        return;
    for(int i = 0; i <= 15; i++)
    {
        y = i;
        if(cf(2, i) > n)
        {
            y--;
            break;
        }
    }
    if(y == 0)
        cout<<"2(0)";
    if(y == 1)
        cout<<"2";
    if(y > 1)
    {
        cout<<"2(";
        dg(y);
        cout<<")";
    }
    if(n != cf(2,y))
    {
        cout<<"+";
        dg(n - cf(2, y));
    }
}
int main(){
    cin>>x;
    dg(x);
    return 0;
}

现在我很无语,因为这家伙真tm用digui(递归)做函数名.
我当场吐血.

你用dg都好过digui.好吗?

写在最后

总之,这是我本人提的一些小建议,如果你喜欢我的码风的话,请支持一下本蒟蒻吧.(言外之意我想你不会不懂)

你还用拼音为变量命名?新人OIer别傻了,教你写出优质代码的更多相关文章

  1. Python_变量命名

    Python的变量命名 变量的命名的原则一直都是我这种小白的头疼事,好几条,根本记不住...... 为了解决大家的头疼问题,今天想出来一个好办法,那就是:身边常备头疼片.......(哈哈哈,开玩笑的 ...

  2. Python变量命名规范

    模块名: 小写字母,单词之间用_分割 ad_stats.py 包名: 和模块名一样 类名: 单词首字母大写 AdStats ConfigUtil 全局变量名(类变量,在java中相当于static变量 ...

  3. google 变量命名规则简要记录

    1.文件命名规则 好的文件名命名可以很清晰的看出这个文件将要承载的内容,Google给出的规则为:文件名要全部小写, 可以包含下划线 (_) 或连字符 (-). 按项目约定来, 例如:cmd_save ...

  4. JS-JS变量命名规则

    原则 变量名区分大小写,允许包含字母.数字.美元符号($)和下划线,但第一个字符不允许是数字,不允许包含空格和其他标点符号. 禁止使用JavaScript关键词.保留字全名. 变量命名长度应该尽可能的 ...

  5. 变量命名神器Codelf

    个人感觉,当觉得命名困难的时候,其实是因为还没有想清楚这个变量.这个方法或者这个类是要干什么,还不能用一个或几个词准确描述它的工作,才觉得无法命名,这是命名的最困难的阶段.而只要想清楚了它的任务,命名 ...

  6. 「C语言」常量和变量的表示、应用和变量命名规则

    在程序运行中,其值不能改变的量成为常量. 在基本数据类型中,常量可分为整型常量.实型常量.符号常量和字符型常量(包括字符常量和字符串常量),现分别介绍如下: 目录: 一.常量 二.C语言标识符 三.变 ...

  7. python的变量命名规范

    一.python变量名命名规则: 1.变量名通常由字母,数字,下划线组成; 2.数字不能作为变量名开头; 3.不能以python中的关键字命名; 4.变量名要有意义; 5.不要用汉字和拼音去命名; 6 ...

  8. 变量命名网站 Codelf

    程序员最头疼的事情除了头发以外就是给变量或函数命名,一开始学编程语言的时候还可以 abc.a1.x2 等方式命名,等到工作过程中开始真正的项目开发时,如果还是这样随意的命名,即使同事可以忍受你的 ab ...

  9. JavaScript 中的变量命名方法

    三种命名方法 在程序语言中,通常使用的变量命名方法有三种:骆驼命名法(CamelCase),帕斯卡命名法(PascalCase)和匈牙利命名法. 依靠单词的大小写拼写复合词的做法,叫做"骆驼 ...

随机推荐

  1. 一次asp.net core3.1打造webapi开发框架的实践

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAigAAAAbCAYAAABWfHSvAAAH30lEQVR4nO1dy5GsMAx80RIESRAEST ...

  2. Pandas的介绍与基本使用

    1.什么是Pandas 当大家谈论到数据分析时,提及最多的语言就是Python和SQL,而Python之所以适合做数据分析,就是因为他有很多强大的第三方库来协助,pandas就是其中之一,它是基于Nu ...

  3. 【UEFI】---关于BIOS,EIST和PState&CState和CPU主频变化得关系

    Intel处理器都支持Turbo和EIST,且一般情况下,各家厂商在BIOS中都会设置EIST和PState的开关,那么这些开关与CPU的频率的关系是什么呢?今天对此做个总结: 按照国际惯例,本次梳理 ...

  4. 各种小的 dp (精)

    Q~ 抛一枚硬币 n 次,每次可能是正面或者反面向上,求没有连续超过 k 次硬币向上的方案数 A : dp[ i ] 表示到 i 位置的方案数, 1 . 当 i < k 时, dp[i] = d ...

  5. DP-Fibonacci

    善于发现 DP 中的 Fibonacci 我们在做 DP  题时  , 会发现有一些题 类似于找规律的题 ,观察测试样例 , 要对数据敏感 , 比如输入 2 输出 1 , 输入 3 就输出 2 …… ...

  6. 定时器之Quart.net(2)

    第一步:Install-Package Quartz namespace ProjectEdb { class Program { static void Main(string[] args) { ...

  7. Mysql连接出现时区问题

    错误提示: The server time zone value '¥x¥_¼Ð·Ç®É¶¡' is unrecognized or represents more than one time zon ...

  8. 本地Git绑定Github仓库

    前言 Window的小伙伴如果还没在本地配好Git环境可以参考:https://www.cnblogs.com/poloyy/p/12185132.html 创建Github仓库 Github绑定本地 ...

  9. HTTP图解笔记(一)—— 第1章 了解Web及网络基础

    TCP/IP协议族 网络是在TCP/IP协议族的基础上运作的,HTTP是一个子集 OSI四层: 应用层:通用的应用服务协议,FTP.DNS.HTTP ↓ 传输层:提供计算机之间的数据传输,TCP.UD ...

  10. spring boot 集成apollo 快速指南

    目前市面上流行的三大配置中心框架:Spring CLoud Config .Alibaba Nacos 以及携程apollo, 我们相应架构组号召,就使用Apollo吧. Work Flow 简单解释 ...