日常写程序规范

  1. 日常做题步骤

    1. 通用模式
      前提:已会题目所需的技能,但题目较难

      1. 仔细看题目,出思路,没有思路则看题解,进入第2步
      2. 初步细化,在纸上写出基本步骤,写代码之前和题解对照,确认自己不是假算法,进入第3步
      3. 自行写代码
      4. 通读代码,再测试并调试
      5. 提交,调试,参照题解,通过
      6. 如果题目很有代表性(有特殊的算法、技巧、思想……),写blog
    2. 难题
      前提:有不会的技能
      1. 先理解题意,有初步(不一定优)的想法
      2. 看题解,学习相关技能
      3. 参照题解实现
      4. 查找相关题目练习
      5. 总结并写blog
  2. 读题规范
    1. 了解题目的内容,明确求解对象,在可能的情况下模拟样例来确认
    2. 看数据范围,以此初步猜测算法;看子任务,有针对性地思考解题方法
  3. 写代码规范
    1. 确认算法正确或有效之后再开始,确认设计好算法,思路清晰之后再开始(可以在纸上列提纲)
    2. 结构化设计代码,不一定按照顺序写,不断细化
    3. 写代码时注意精简和高效,但降低代码可读性的常数优化尽量少用
  4. 调试步骤
    1. 先走读程序,检查基础问题
    2. 用样例测试,根据中间结果分析问题
    3. 根据下载的大样例调试
    4. 对照题解调试
  5. 题解规范
  6. 总结规范

原文地址:https://www.cnblogs.com/guoshaoyang/p/11109973.html

时间: 2024-08-29 08:55:20

日常写程序规范的相关文章

写程序引发的思考

 最近2个月除了完成日常的工作以外,还在练习数据结构这一块的知识,因为感觉数据结构自己还不是很熟悉,最近 完成的练习如下: 数据结构练习连接:http://blog.csdn.net/qlx846852708 1.顺序表的实现 2.单向链表的实现--通讯录 3.队列的实现--银行排队系统 4.c语言猜数字小游戏 5.计算圆周率 6.输入年.月.日计算星期几 7.linux下tcp和udp的通信 8.熟悉了makefile的编写 9.linux下文件夹加密小程序 多动手: 总之,感觉就是还是要

用CIL写程序:从“call vs callvirt”看方法调用

前文回顾:<用CIL写程序系列> 前言: 最近的时间都奉献给了加班,距离上一篇文章也有半个多月了.不过在上一篇文章<用CIL写程序:定义一个叫“慕容小匹夫”的类>中,匹夫和各位看官一起用CIL语言定义了一个类,并且在实例化之后给各位拜了大年.但是那篇文章中,匹夫还是留下了一个小坑,那就是关于调用方法时,CIL究竟应该使用call呢还是应该使用callvirt呢?看上去是一个很肤浅的问题,哪个能让程序跑起来哪个就是好的嘛.不是有一句话:白猫黑猫,抓到耗子就是好猫嘛.不过其实这并不是一

我的通用程序规范及说明

我的通用程序规范及说明=========================================前言-----------------------------------------每个项目程序功能大多数是相同的,而程序员最应该做的事就是复用你的代码,甚至项目.所以才有了我做通用程序的想法. 程序功能的相同点:每个项目,都需要后台程序.而后台程序50%以上的东西都是复用的.比如: 登录,权限,日志,系统设置,文章模型,产品模型.甚至是会员系统都是复用的,或者变化不大的. 不同点:每个项目

思考程序与写程序的关系

首先引用孔夫子的一句话:学而不思则罔,思而不学则殆. 首先,学而不思者罔这句话的意思就是如果做一件事情,我们只是为了完成任务才去做这件事情,如果我们不对问题进行思考,那么我们就会感觉知其然而不知其所以然. 思而不学则殆这句话就是,如果我们不动手去做,而一味的去思考结果,那么就会在一个点停滞不前. 其实我很赞成孔夫子的话,我个人认为这2句话很适合编程的人,当然“学而不思者罔”这句话,我个人觉得更适合于我们程序员. 其中造成学习而不去理解它的原理有几点原因. 任务本身的进度很赶,没时间去研究那么深刻

一个平时写程序通用的Makefile样例

//需要目标名和程序名字相同 .PHONY:clean all //伪目标 CC=gcc CFLAGS=-Wall -g BIN= //目标 all:$(BIN) %.o:%.c $(CC) $(CFLAGS) -c $< -o [email protected] clean: rm -f *.o $(BIN) 平时写程序肯定需要反复的修改,有了这样一个makefile程序会方便很多的.动手试一下.

用CIL写程序:写个函数做加法

前言: 上一篇文章小匹夫为CIL正名的篇幅比较多,反而忽略了写那篇文章初衷--即通过写CIL代码来熟悉它,了解它.那么既然有上一篇文章做基础(炮灰),想必各位对CIL的存在也就释然了,兴许也燃起了一点探索它,掌握它的欲望.那么小匹夫就继续扯一扯CIL,接下来的几篇文章也都以上一篇文章中的那个CIL实现的Hello Wolrd程序为基础,继续通过写CIL代码实现一些功能的方式来和各位探讨交流,同时也加深自己对CIL的掌握和印象. 人生就是做加法 "我的肩上搭着她得衣裳,我嗅着她留在衣服上的体香..

019写程序在一棵二叉树中找到两个结点的最近共同祖先(keep it up)

写程序在一棵二叉树中找到两个结点的最近共同祖先. 分两种情况来讨论这个题: 第一种情况结点中没有指向父结点的指针 第二种情况接种有指向父节点的指针 我们先看第一种情况,结点中没有指向父结点的指针. 我们可以采用暴力搜索每一个结点,如果这个结点的子树中 有已知的两个结点,那我们就继续沿着左右子树找,如果左子树 能找到,我们就继续沿着左子树找,如果有子树能找到,我们就 沿着右子树找,不存在两个子树都能够找到. 代码: struct TreeNode {<pre name="code"

代写程序|java二叉树字典查询(qq 928900200)

This assignment will help you practice and understand better the Binary Tree and Binary Search Tree data structures, their operations and implementations. You are to design a small dictionary using the Binary Search Tree data structure. Each entry ma

关于郭天祥51开发板无法烧写程序问题的解决(Prolific USB-to-Serial Comm Port)

1. 事件背景: 由于使用了win8系统,之前购买的郭天祥C51开发板在通过一个两头都是usb口的下载线下载程序时出现了问题:下载工具stc isp无法连接到开发板上的串口,所以无法下载程序到c51开发板上,错误显示如下 2. 寻求解决方法 本人尝试了网络几乎所有的方法,包括更新驱动.恢复驱动到旧版本(可能有用,我没用)等等方式都没有成功.这导致本人当时几乎放弃了这块板子.在尝试过程中我也想过用u转串连接板子上的串口到电脑的usb口来下载程序,但是也没有成功. 3. 踏破铁鞋无觅处,得来全不费工