日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[课程相关]homework-06

發(fā)布時間:2023/12/10 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [课程相关]homework-06 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、c++11

lambda

/* * File: main.cpp* Author: liangjie** Created on 2013年11月23日, 下午12:02*/#include <cstdlib> #include <iostream>using namespace std;/** */ int main(int argc, char** argv) {string aa = "Hello World!";int b = 0, c = 0;for_each(aa.begin(), aa.end(), [&b, &c](char a){if (a == 'l') {b++;} else if (a == 'e'){c++;};});cout<< "Number of e: " << c<<endl;cout<<"Number of l: "<<b<<endl;return 0; }

lambda,看了一下就搞懂了。

?

smart_ptr

/* * File: main.cpp* Author: liangjie** Created on 2013年11月23日, 下午12:16*/#include <cstdlib> #include <iostream> #include <memory>using namespace std;/** */void move_print(int n){unique_ptr<string> aa(new string("Hello World!"));for (int i=aa.length() - n; i<aa.length();i++){cout<<aa[i];}for (int i=0;i<aa.length()-n;i++){cout<<aa[i];} }int main(int argc, char** argv) {int n = 1;move_print(n);return 0; }

smart_prt,自動清理申請的空間。概念不錯。

?

二、圍棋程序

01年就有C#了?搜了一下居然是00年發(fā)布的。我第一次聽說c#大概是11年吧。原來也不是一個很新的語言了。

?

playPrev函數(shù)

public void playPrev(GoMove gm){Point thepoint = gm.Point;Grid[thepoint.X,thepoint.Y].removeStone();if (gm.DeadGroup){int thecount = gm.DeadGroup.Count;thecount = gm.DeadGroup.Capacity;System.Collections.IEnumerator theenum = gm.DeadGroup.GetEnumerator();while (theenum.MoveNext()){thepoint = (Point)theenum.Current;Grid[thepoint.X,thepoint.Y].setStone(gm.DeadGroupColor);}}m_gmLastMove = gameTree.peekPrev(); if (m_gmLastMove){repaintOneSpotNow(m_gmLastMove.Point);setLabelsOnBoard(m_gmLastMove);setMarksOnBoard(m_gmLastMove);}optRepaint();m_colorToPlay = nextTurn(m_colorToPlay);textBox1.Clear();if (m_gmLastMove)textBox1.AppendText(m_gmLastMove.Comment);}

編碼風格:

個人很少用c系的語言,所以說不上什么好壞。不過單從代碼角度來說的話,變量名還可以,能傳遞一部分的意思。不過注釋感覺有些過多,很多時候變量名以及代碼結(jié)構(gòu)已經(jīng)足以表達清楚意思了。在我的觀點里,一個函數(shù)最多只需要一行注釋,說明函數(shù)的用途及用法。至于函數(shù)內(nèi)部的實現(xiàn)應該靠代碼就足以表述清楚——如果表述不清楚,那就是函數(shù)寫的有問題。

一大串if else我覺得switch比較好。當然我不是用c的,貌似switch只能處理字符?那還不如叫switch_only_for_char。

?

程序架構(gòu):

1500多行,實在沒有太多耐心來看。想必其中大部分代碼都是畫界面的。

MVC的話,感覺并沒有很明確的體現(xiàn)出來。各種函數(shù)的調(diào)用好像并沒有什么明顯的規(guī)則,比如nextTurn()這種,如果按照MVC的話,應該是不能直接調(diào)用的。

不過話說話來,MVC還是用在大型程序上比較好,這種小程序完全沒必要。大炮大蚊子明顯沒有用手打有效。

?

錯誤處理:

trycatch好像有點太籠統(tǒng)了。如果能細致一點指出具體的錯誤就更好了。

特殊情況最好歸到trycatch里,統(tǒng)一管理。寫到外面容易被當做正常情況來看待。

?

?注釋:

加到代碼里了,太長就不貼到這了。

轉(zhuǎn)載于:https://www.cnblogs.com/numbbbbb/p/3441067.html

總結(jié)

以上是生活随笔為你收集整理的[课程相关]homework-06的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。