上海交通大学 ACM班 原作者 2015级 卢思迪 部分调整 2016级 刘啸远 加了一点点 2017级 侯博涵

Slides:



Advertisements
Similar presentations
1 曾老師、各位同學大家好 ! 首先自我介紹 ; 個人聯合大學電機系 畢業,服完兩年兵役後, 75 年開始就 業 ; 四年內換了幾個工作, 79 年創立貿 特科技, 90 年、 91 年分別於大陸寧波 與昆山設立特一電子與柏特電子,經 歷 20 年的工作磨鍊,今天事業上算是 穩定、成熟 ! 承蒙曾老師看重,利用一.
Advertisements

职业生涯规划 陈 艳 天津民族中等职业技术学校. 以花为伴 —— 小于的花样年华 问题: 1 、小于的案例对你有什么启发? 2 、小于的职业发展过程中,有哪些转岗和晋升 的经历? 横向发展 纵向发展.
中正國中 特教組長 粘玉芳 校內分機 : /02/21. 下列條件擇一: 一、身心障礙手冊 二、特殊教育學生鑑定及就學輔導會證明.
大公教育行政职业能力测验讲义 邢长文老师. Page 2 大公教育全国客服热线:
示範課 -- 作文立意. 重溫作文構思課  構思嘗試深化  多角度思考  宜先剖析題目, 運用聯想, 循序漸進擴大範圍, 然後歸納材料, 定訂主題  同學的作品, 反映部分能夠掌握, 主線清晰, 層 層深入, 舉例恰當  但有部分同學只有枝葉, 欠缺主線, 更無中心思 想, 反映立意不足.
幼教人員法律事件探討 ─ 幼兒教育及照顧法 姚其壯 第一章 總則〈第一條至第六條〉 第二章 幼稚園設立及其教保服務 〈第七條至第十四條〉 第三章 幼稚園組織與人員資格及權益 〈第十五條至第二十八條〉 第四章 幼稚權益保障 〈第二十九條至第三十三條〉 第五章 家長之權利與義務 〈第三十四條至第四十條〉
畫面中的兩個人要去參加金融業儲備幹部的面試 活動,你認為誰的面試穿著是正確的? V.S 動動腦 V.S 動動腦 慎重 讓人感到 尊重 輕便 讓人聯想 隨便 畫面中的兩個人要去參加金融業儲備幹部的面試 活動,你認為誰的面試穿著是正確的?
高考心理辅导  福建中医药大学  林山  高考是什么?  真有那么 “ 苦大仇深 ” ?  为什么不能是 “ 快乐挑战 ” ?  高考(事) --- 认知(怎么个事 - 压力大小) --- 情绪反应(烦躁、焦虑、害怕 VS 自信、 从容、期盼) --- 行为表现(发挥正常.
自然產與剖腹產比較 江幸達、江俊億、何奇軒 李奇軒 、 莊程勛 、 葉 姵 君 黃雅靖、劉品妤、羅彩瑄 坪內由里佳 1 第十組:
簡報製作:葉 女 嬰 慧 葉純佑 漫話漫畫 仔細看看這張圖... 回答下列問題 站在正中央的人有沒有打領帶? 2. 在紙上畫線的是鉛筆還是鋼筆? 3. 看書的人有沒有戴眼鏡?
社工之路的通行證 --- 社工師證照 考試心得分享 東吳大學社工系碩一 呂錦綸. 一、考前準備 閱讀主流老師的書籍、掌握各科概要。 閱讀主流老師的書籍、掌握各科概要。 重視概念性的知識,打好基礎是很重要低 ~ 重視概念性的知識,打好基礎是很重要低 ~ 是必備讀物 ! 是必備讀物 ! 勤作考古題,參考當年度碩士班考試及高.
心理学辅导.
看不見的聲音 唐代女性文學.
湘雅医院中层干部培训讲座之二 医院行政管理工作思路 孙 虹 2010年10月27日.
兩岸融合教育之議題: 以東莞台商子弟學校為例
高职高专院校人才培养工作水平评估指标体系解读
中國宗教精神與其哲學.
1、什么是预算会计? 2、预算会计的组成体系? 3、预算会计的要素和会计等式? 4、预算会计的特点?
小綠葉蟬的『祕蜜』~ 蜜香烏龍茶.
行政法 之 行政救济篇.
C语言程序设计 主讲教师 :张群燕 电话:
第二章 复式记账原理*** 主要内容、重点难点: 1.会计要素与会计等式*** 2.会计科目与账户*** 3. 借贷记账法***
九十二年度第二次 會計作業實務座談會 主辦單位:會計室.
导游资格证考试概要.
禁毒知识教育 ·.
小论文的选题技巧与写作要领.
第13章 地理實察與方法 地理實察的重點不在於一定要印證什麼、或者獲得絕對的是非對錯,而是跳脫既定成見或主觀意識、容許自己以新的視野與思維方式,重新審視我們可能早已知道的世界,原來存有著人與地的特定脈絡關係,…… 編者,2009.
1、分别用双手在本上写下自己的名字 2、双手交叉
1.6 中国人口迁移.
愛之花.
Are you ready to be an e-teacher
2007年11月考试相关工作安排 各考试点、培训中心和广大应考人员:
第八課 蓼莪.
分式的乘除(1) 周良中学 贾文荣.
初中语文总复习 说明文 阅读专题 西安市第六十七中学 潘敏.
第四章 制造业企业 主要经济业务核算.
勞動權益 教師:黃益中.
《思想品德》七年级下册 教材、教法与评价的交流 金 利 2006年1月10日.
易學基礎教程 國文系99 王隆運. 易學基礎教程 國文系99 王隆運.
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
崇拜即將開始,請大家安靜片刻, 預備心靈敬拜上帝。
 第20讲 中国的交通.
第十二单元 第28讲 第28讲 古代中国的科技和文艺   知识诠释  思维发散.
走自立自强之路 自己的事情自己做.
人類的循環系統.
程式設計實作.
課程名稱:計算機概論 授課老師:李春雄 博士
資料大樓 --談指標與陣列 綠園.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
代码风格 ACM Class 2016 范舟.
给孩子做一面明亮的镜子 给孩子做一面明亮的镜子.
Shanghai Jiao Tong University
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
OOP6 結構Struct 黃兆武.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
程序设计杂谈 2014级 ACM班 柯嵩宇.
保留字與識別字.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
第八节 算术运算符和算术表达式.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
程序调试 ——基础与技巧 西安交通大学 王树升.
講題 :課程發展委員會的組織與運作機制 主講人:臺北市立明倫高中 教務主任王文珠.
大學學群學類卡 林宏茂 中壢高中 李欣樺 振聲高中.
官峰A+小豪宅 三面採光、通風採光極佳、 均有前後陽台、空間多元
——彻底变革算法与程序设计的教学方式 湖北省水果湖高级中学 伍先军.
Presentation transcript:

上海交通大学 ACM班 原作者 2015级 卢思迪 部分调整 2016级 刘啸远 加了一点点 2017级 侯博涵 代码风格与调试 上海交通大学 ACM班 原作者 2015级 卢思迪 部分调整 2016级 刘啸远 加了一点点 2017级 侯博涵

概要 代码风格与编程环境配置 调试 黑科技(一部分机考可用)

环境? 编程语言根本不重要,重要的是思想? 用什么工具根本不重要,重要的是人?

编程环境配置 选择编辑器+命令行还是IDE? 如何在Windows上搭建起舒适的命令行环境? 好的字体? Consolas, Courier 之类等宽字体 好的编辑器? Emacs,Vim,Notepad++,Atom Sublime text, VS Code 好的C++IDE? VS JetBrains出品的系列IDE(Clion for c++, IntelliJ IDEA forJAVA) Qt Creator etc.

与世界分享你的idea——代码风格 为什么要注意代码风格? 下面是一个不好的例子:

好的代码风格 Allman K & R Google Style 更详细来说: 空格 空行 花括号 命名 好的宏与模板元编程

https://en.wikipedia.org /wiki/Indent_style

http://blog.csdn.net/voidccc/article/details/37599203

空格 运算符间,逗号之后 例子: a = (a + 2) * 2 * __gcd(221, 1896); ++a; 突出关键字 for (int i = 1; i < n; ++i) while (vInt.empty()) if (get_handle(virtual_pid, this -> allocator) -> status == Process.blocked) switch (token.type_value) etc

空行与注释 用途: 明确代码段之间在逻辑上的相对独立。 常见情景 类定义结束 函数定义结束 长的连续逻辑内部不同阶段间

花括号 Allman风格 K & R风格 跟PASCAL类似,相匹配的花括号间严格对齐,不同的层次间相差一个缩进单位(一般是一个Tab) for (auto i = v.begin(); i != v.end(); ++i) { if (i -> graphics -> filter -> ready()) { i -> execute(); }

命名 Delphi/Borland Style (大小驼峰法) C / Unix Style (下划线间隔法) 类,结构体和函数名以一个短语命名,短语中每个单词首字母大写 GetThingsDone() 变量名以一个短语命名,第一个单词全部小写,其后每个单词首字母大写 bigBadWolf C / Unix Style (下划线间隔法) 短语中单词全部小写,以下划线间隔之 long_long_name_to_type 匈(fan)牙(ren)利(lei)命名法 int int_something

调试 使用GDB等命令行工具 使用IDE 输出日志 几种特殊方法 n r b p c help GUI程序:弹框中断(alert) assert 折半法 多组数据:特殊数据中断法

内存泄漏的处理 使用智能指针等结构 使用valgrind或者VS等内存检查工具

一些奇奇怪怪的东西 #define CHAR_P char* typedef char* Char_p CHAR_P a,b; Char_p c,d; what’s the type of … cout<<a++<<++a<<++a++<<++++a … OOP… Try to avoid…(If you don’t understand)

黑科技集锦 内联汇编(没见人用过,你们加油) new placement operator和简易的内存池构建 ios :: sync_with_stdio(false); //不要使用endl cin.tie(0); cout.tie(0); scanf >= 快速读入 > cin(关闭同步) >> cin(开启同步) __gcd(x, y)

最好的调试器 你优秀的同学,与你相伴四年的兄弟姐妹们 最优秀的你自己

一点大实话(from LSD) 大家可能会辛苦一点,选择交大就是选择了责任,选择了ACM班就是选择了成吨的责任=。= 珍惜每一个人的思想,不管你是不是觉得你们面临的问题其实很trivial =。= 善用搜索引擎可以帮助你看到更大的世界=。= 不仅仅要掌握专业知识,也要掌握照顾电脑的一点点技术,计算机算是你一个重要的伙伴,善待它=。= 好的饮食和锻炼助你健康成长=。= 尽早找到自己感兴趣的领域,但是不要在学习的时候限制自己,觉得什么什么没有用就懈怠,这样是不 行的,怎么apply for professor? 曰..曰

二点大实话 事情并不像你想象的那么困难,当然也不会像你想象想那么简单。 基本上你今天的爆肝都来自于你昨天的拖延。 当你发现你无所事事的时候,事情就不对了。