iOS開發(fā)規(guī)范-ObjectiveC

一、命名規(guī)范? ??

?1.類的命名? ?

? ? ? 1.1 大駝峰式命名:每個(gè)單詞的首字母都采用大寫字母 ? ? ??

? ? ? ? ? ?例子:MLHomePageViewController? ??

? ? ?1.2 前后綴要求? ? ? ? ??

? ? ? ? ? 自定義控件 使用公司 ML 前綴 窘疮, ? ? ??

? ? ? ? ? ViewController: 使用ViewController做后綴? ? ? ??

? ? ? ? ? 例子: MLHomeViewController? ? ? ? ? ? ? ? ??

? ? ? ? ? View: 使用View做后綴? ? ? ??

? ? ? ? ? 例子:MLAlertView? ? ? ?

? ? ? ? ? UITableCell:使用Cell做后綴? ? ? ??

? ? ? ? ?例子:MLNewsCell? ? ? ??

? ? ? ? ? Protocol: 使用Delegate或者DataSource作為后綴? ? ? ??

? ? ? ? ?例子:UITableViewDelegate? ? ? ??

? ? ? ? ? UI控件依次類推 ScrollView袋哼,TextField, TextView?

? 2.property變量? ??

? ? ? 2.1 小駝峰式命名:第一個(gè)單詞以小寫字母開始,后面的單詞的首字母全部大寫

? ? ?例子:@property (strong, nonatomic) NSString *userName;? ??

? ? ? 2.2 控件命名:統(tǒng)一以全稱后綴命名的方式:? ??

? ? ? 例如? ? ? ? Button loginButton? ? ? ? Label userNameLabel? ? ? ? TextField passwordTF? ? ? ? TextView commentTextView ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TableView historyTableView? ? ? ? ScrollView scrollView? ??

? 3.宏命名? ??

? ? ? 3.1 全部大寫闸衫,單詞間用 _ 分隔涛贯。  ??

? ? ? 例子:#define THIS_IS_AN_MACRO @"THIS_IS_AN_MACRO"? ??

? ? ? 3.2 宏的位置要在import下面蔚出,@interface 的上面? ??

? ?4.枚舉? ??

? ? ? 4.1 Enum類型的命名與類的命名規(guī)則一致? ?

? ? ? 4.2 Enum中枚舉內(nèi)容的命名需要以該Enum類型名稱開頭? ? ??

? ? ? 4.3 使用 typedef NS_ENUM 定義 與swift兼容   ?

? ? ? ? ? 例子:? ? ? ?

? ? ? ? ? ? typedef NS_ENUM (NSInteger, AFNetworkReachabilityStatus) {? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ?AFNetworkReachabilityStatusUnknown ? ? ? ? ? ? ? ? ? ?= -1,? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? AFNetworkReachabilityStatusNotReachable ? ? ? ? ? ? = 0,? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? AFNetworkReachabilityStatusReachableViaWWAN ?= 1,? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ?AFNetworkReachabilityStatusReachableViaWiFi ? ? ? = 2? ? ? ?

? ? ? ? ? ? ? ? ? ? ?};? ?

? ? 5.Class中方法命名? ? ? ?

? ? ? ? 使用小駝峰規(guī)則弟翘,用動(dòng)詞命名虫腋,第一個(gè)單詞的首字母小寫,其他單詞的首字母大寫稀余。以下為幾種常用方法的命名:? ? ? ?

? ? ? ?5.1 彈出提示框或者提示信息悦冀,命名以 show 開頭,

? ? ? ? ?例:showHUD? ? ??

? ? ? ?5.2 按鈕點(diǎn)擊方法睛琳,命名以 控件名+Clicked 結(jié)尾盒蟆,

? ? ? ? ?例:loginBtnClicked? ? ?

? ? ? ?5.3 設(shè)置方法,命名以 set 開頭师骗,

? ? ? ? 例:setData? ? ?

? ? ? ? 5.4 具有返回值的獲取方法历等,命名以 get開頭,

? ? ? ? 例:getData? ? ?

? ? ? ?5.5 通過(guò)異步加載數(shù)據(jù)的方法丧凤,命名以 load(本地?cái)?shù)據(jù))/query/request(請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù)) 開頭募闲,

? ? ? ? ? ?例:loadData? ? ? ?

? ? ? ?5.6 布爾型的判斷方法,命名以 is 或 has愿待,或具有邏輯意義的單詞如 equals浩螺,

? ? ? ? ? ?例:isEmpty? ? ?

? ? ? ?5.7 保存數(shù)據(jù)相關(guān)的方法,命名以 save 開頭仍侥,

? ? ? ? ? ?例:saveGoodsData,? ? ?

? ? ? ?5.8 對(duì)數(shù)據(jù)重組的方法要出,命名以 reset 開頭,

? ? ? ? ? ?例:resetOrderData,

? ? ? ?5.9 清除數(shù)據(jù)相關(guān)的方法农渊,命名以 clear/clean/remove 開頭患蹂,

? ? ? ? ? ? 例:clearUserData,? ??

? ? 6. Delegate方法命名? ? ?

? ? ? ? 6.1 類的實(shí)例必須為回調(diào)方法的參數(shù)之一, 如? ? ? ? ?

? ? ? ? ? - (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section? ? ?

? ? ? ? 6.2 回調(diào)方法的參數(shù)只有類自己的情況,方法名要符合實(shí)際含義, 如:? ? ? ? ??

? ? ? ? ?- (NSInteger)numberOfSectionsInTableView:(UITableView*)tableView? ? ??

? ? ? ?6.3 以類的名字開頭(回調(diào)方法存在兩個(gè)以上參數(shù)的情況)以表明此方法是屬于哪個(gè)類的, 如:? ? ? ? ?

? ? ? ? ?- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath? ? ??

? ? ? ?6.4 使用did和will通知Delegate已經(jīng)發(fā)生的變化或?qū)⒁l(fā)生的變化, 如:? ? ? ? ?

? ? ? ? ?- (NSIndexPath*)tableView:(UITableView*)tableView willSelectRowAtIndexPath:(NSIndexPath*)indexPath;? ? ? ? ?

? ? ? ? ?- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath;? ??

? ? 7. 切圖命名:? ? ? ? ? ?

? ? ? ??切圖命名:

? ? ? ?頁(yè)面_模塊_類別_功能_狀態(tài).png

? ? ? ? 如:home_tab_btn_search_normal.png)

? ? ? ? ? ? ? ?首頁(yè)_標(biāo)簽欄_按鈕_搜索_默認(rèn)狀態(tài).png

? ? ? ?常用英文名:

? ? ? ?模塊:

標(biāo)簽欄 nav ? ? ? ? ? ? ? 菜單欄 tab?? ? ? ? ? ? ?背景 bg? ? ? ? ? ? ? ? 左側(cè)導(dǎo)航 leftbar ? ? ? ? ? ? 啟動(dòng)頁(yè)面 lanuch?? ? ? ? ? ? ?工具欄 tool?? ? ? ? ? ? ?主頁(yè)面 home?? ? ? ? ? ? ?列表 list

個(gè)人資料porfile ?? ? ??登錄 login ? ? ? ? ? ? ? 注冊(cè) regsiter ?? ? ??標(biāo)題 title

類別:

標(biāo)志 logo ? ? ? ? ? ? ? ? 圖標(biāo)ic ? ? ? ? ? ? ? ? ? ? 按鈕 btn ? ? ? ? ? ? ? 進(jìn)度條 progress bar ?? ? ??默認(rèn)圖片 def ? ? ? ? ? ? ? ? ? 分隔圖片 div? ? ? ? ? ? 圖片 img? ? ? ? ? ? ? ? ? ??評(píng)論 comment

廣告 ad ? ? ? ? ? ? ? ? ? 提示信息 msg ? ? ? ? ?彈出 pop ? ? ? ? ? ? ?輸入框 input ? ? ? ? ? ? ? ? ? ?菜單 menu ? ? ? ? ? ? ? ? ? ? ?復(fù)選框 chb ? ??? ? ? ? ?單選框rb? ? ? ? ? ? ? ? ? ? 下拉 cbb

功能:

搜索 search ? ? ? ? ? ?收藏 collect ? ? ? ? ? ? ?時(shí)間 time ? ? ? ? ? ? ? 音頻 audio ? ? ? ? ? ? ? ? ? ? ?視頻 viedio ? ? ? ? ? ? ? ? ? ?用戶 user ? ? ? ? ? ? ? ?排名 ranked ? ? ? ? ? ? ? ?關(guān)閉 close

返回 back ? ? ? ? ? ? ? ?編輯 eidt ? ? ? ? ? ? ? ? 刪除 delete ? ? ? ? ? ?鏈接 link ? ? ? ? ? ? ? ? ? ? ? ? 下載 download ? ? ? ? ? ? ? 注釋 note ? ? ? ? ? ? ? ?刷新 refresh ? ? ? ? ? ? ? ?取消 cancel

設(shè)置 setting

? ? ? ? 狀態(tài):

默認(rèn) normal(nor)?? ? ? ? ? ? ?按下 pressed?? ? ? ? ? ? ?選中 selected(sel)?? ? ? ? ? ? ?不可點(diǎn)擊 disabled(dis)

? ? 8. 關(guān)于UI布局? ? ?

? ? ? ?8.1 使用Interface Builder進(jìn)行界面布局? ? ??

? ? ? ?8.2 Xib文件的命名與其對(duì)應(yīng)的.h文件保持相同? ? ??

? ? ? ?8.3 Xib或SB文件中控件的必須進(jìn)行重命名砸紊,不允許出現(xiàn)Label ImageView等Xcode缺省命名传于。?

二、類中代碼規(guī)范? ??

? ? ?1. import規(guī)范? ? ??

? ? ? ?當(dāng)一個(gè)Controller或者一個(gè)Class中需要用到不同的類和Define時(shí), 我們應(yīng)當(dāng)把#import劃分.? ? ??

? ? ? ?劃分原則: 哪個(gè)Controller或者Class是本Controller或者Class的次級(jí)就放在一起, 公共Controller或Class就與之前的空一行, 緊跟著下面.? ? ??

? ? ?分隔 用 #pragma mark-

? ? ? ?// controller

? ? ? ?#import "TripDetailViewController.h"

? ? ? ?#import "TripEvaluationViewController.h"

? ? ? ?#import "EvaluateViewController.h"

? ? ? ?#pragma mark -

? ? ? ?// view

? ? ? ?#import "HCSStarRatingView.h"

? ? ? ?#import "UndealTripHeader.h"

? ? ? ?#import "FinishedTripHeader.h"

? ? ? ?#import "GPMapAnnotationView.h"

? ? ? #import "GPMapDriverAnnotationView.h"

? ? ? // model&tool

? ? ? ?#import "GPCancelTripRequest.h"

? ? ? ?#import "GPGetTripDetailRequest.h"

? ? ? ?#import "GPWebServiceManager.h"

? ? ? ?#import "GPEvaluateTripRequest.h"

? ? ? (建議)需要經(jīng)常使用的醉顽,新建Importer.h 文件沼溜,導(dǎo)入到.pch頭文件中

? ? ? ? #import <UIKit/UIKit.h>

? ? ? ? #import<Foundation/Foundation>

? ? ? ?//百度地圖

? ? ? ?//引入base相關(guān)所有的頭文件

? ? ? ? #import//引入地圖功能所有的頭文件

? ? ? ? #import//引入檢索功能所有的頭文件

? ? ? ? #import//引入定位功能所有的頭文件?

? ? ? ? #import//引入計(jì)算工具所有的頭文件

? ? ? ? #import//只引入所需的單個(gè)頭文件

? ? ? ? #import//猿題庫(kù)網(wǎng)絡(luò)請(qǐng)求框架

? ? ? ? #import "YTKNetworkAgent.h"

? ? ? ? #import "HLShadowAndCornerImageView.h"

? ? ? 2. property 聲明

? ? ? ? ?2.1 聲明位置

? ? ? ? ? 在.m文件中最上方,定義空的category進(jìn)行聲明游添,根據(jù)內(nèi)存管理關(guān)鍵字來(lái)劃分模塊, 且以 "*" 分類對(duì)齊(基礎(chǔ)數(shù)據(jù)類型除外)系草,nonatomic 修飾放在最后∷衾裕 不可在實(shí)現(xiàn)類中用大括號(hào)的方式申明私有變量找都,避免這些變量在方法中使用時(shí),與方法的傳入?yún)?shù)理解作用域理解混淆 例子:

#import "CodeStandardViewController.h"

// 在這個(gè)category(類目)中定義變量和方法

@interface CodeStandardViewController ()

@property (weak, nonatomic) IBOutlet UILabel? ? ? ? ? ? *priceLabel;

@property (weak, nonatomic) IBOutlet UIImageView? ? ? ? *otherInfoImageView;

@property (weak, nonatomic) IBOutlet UILabel? ? ? ? ? ? *tripPassengerCountLabel;

@property (strong, nonatomic) AspRetrievePasswordView? *retrievePassword;

@property (strong, nonatomic) UITextField? ? ? ? ? ? ? *foucsTextField;

@property (copy, nonatomic) NSString? ? ? ? ? ? ? ? ? ? *brandName;

@property (copy, nonatomic) NSString? ? ? ? ? ? ? ? ? ? *brandType;

@property (assign, nonatomic) NSInteger? ? ? ? ? ? ? ? zeroCount;

@property (assign, nonatomic) NSInteger? ? ? ? ? ? ? ? verificationCode;

@end

@implementation CodeStandardViewController

/* 錯(cuò)誤 聲明

{

NSDictionary *vcConfigDict;

BOOL isInfoViewShown;

}

/*

@end

? ? ? ? ?2.2 使用

? ? ? ? ?在.m中 以 self. 的方式使用廊酣,不使用下劃線的形式

? ? 3.方法規(guī)范

? ? ? ? 3.1在聲明函數(shù)時(shí)"-"與"(type)"必須空一格, 且后面的參數(shù)類型與"*"也必須空一格.多個(gè)參數(shù)冒號(hào)對(duì)齊能耻。

/**

<#Description#>

@param result <#result description#>

@param mapView <#mapView description#>

@param error <#error description#>

*/

+ (void)showRoute:(BMKDrivingRouteResult *)result

on:(BMKMapView *)mapView

errorCode:(BMKSearchErrorCode)error;

? ? ? ?3.2方法與方法之間相隔一行的間距,在函數(shù)體內(nèi), 如果第一句調(diào)用的是系統(tǒng)方法, 可不換行, 如果是自定義的方法(包括if-else和for in), 必須換行.

+ (void)showRoute:(BMKDrivingRouteResult *)result

on:(BMKMapView *)mapView

errorCode:(BMKSearchErrorCode)error {

NSArray* overlaysArray = [NSArray arrayWithArray:mapView.overlays];

[mapView removeOverlays:overlaysArray];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

}

? ?4. if-else規(guī)范

? ? ? 4.1 使用結(jié)構(gòu)清晰的排版方式, if-else語(yǔ)句與方法名空行, return語(yǔ)句可以不用空行.

- (instancetype)initWithFrame:(CGRect)frame {

if (self = [super initWithFrame:frame]) {

// code body

}

return self;

}

? ? ?4.2 if-else內(nèi)部也必須跟著空行, 在else之后的"}"可不空行.

- (void)viewDidLoad {

[super viewDidLoad];

if (age < 0) {

// Code Body

}

}

? ? ? ?4.3 if-else超過(guò)四層的時(shí)候, 就要考慮重構(gòu), 多層的if-else結(jié)構(gòu)很難維護(hù)。 合理使用ifelse, 當(dāng)某個(gè)場(chǎng)景只需滿足一個(gè)條件才能進(jìn)入if-else時(shí), 應(yīng)該把if-else抽成一個(gè)模塊嚎京。

- (void)viewDidLoad {

[super viewDidLoad];

if (age < 0) {

NSLog(@"這是錯(cuò)誤的年齡");

return;

}

NSLog(@"現(xiàn)在時(shí)%ld歲", (long)age):

}

? ? ? ?4.4 if-else必須加"{}"符號(hào), 哪怕是一行判斷.

? ?5. 運(yùn)算符規(guī)范

? ? ? 5.1 一元運(yùn)算符和參數(shù)之間不放置空格, 比如"!"非運(yùn)算符, "&"安位與, "|"安位或.

BOOL isOpen? = true;

BOOL isClose = !isOpen;

? ? ?5.2 二元運(yùn)算符和參數(shù)之間要有空格, 如賦值號(hào)"="左右各留一個(gè)空格.

self.myString = @"mySring";

? ? ?5.3 三目運(yùn)算符和參數(shù)之間必須得有空格, 如判斷符"?"結(jié)果符":"

NSInteger userAge = @"Man" ? 18 : 19;

? ?6. NSDictionary

? ? ? 當(dāng)NSDictionary里的Key : Value過(guò)多時(shí), 應(yīng)拆分為多行顯示, 并以 ":" 對(duì)齊

NSDictionary *people = @{@"xiaoming" : 18,

@"xiaohong" : 19,

@"xiaowang" : 20};

? ?7. NSArray(視情況)

? ? ?當(dāng)NSArray里的元素過(guò)多時(shí), 應(yīng)拆分為多行顯示, 并以第一個(gè)元素對(duì)齊.

? ? ?NSArray *nameArray = @[@"小明",@"小紅",@"小王"];

? ?8. #pragma mark -

? ? 對(duì)于相同性質(zhì)的屬性遥倦、方法使用 mark 分組

#pragma mark - lift cycle

#pragma mark - IBAction

? ?9.TODO 規(guī)范

? ? ?對(duì)于多人開發(fā)的項(xiàng)目准脂,//? TODO后 必須加上作者

? 10. 枚舉

? ? ?項(xiàng)目中不允許直接使用數(shù)字代替

typedef NS_ENUM(NSInteger, TripStatus) {

TripStatusNotPublish = 0,

// 已發(fā)布

TRIP_STATUS_PUBLISHED = 10,

// 重派單

TRIP_STATUS_REDISPACH = 15,

// 已派單

TRIP_STATUS_DISPACHED = 20,

// 已接單

TRIP_STATUS_RECEIVED = 30,

// 正在接

TRIP_STATUS_PICKING = 33,

// 已接到

TRIP_STATUS_PICKEDUP = 35,

// 已出發(fā)

TRIP_STATUS_STARTED = 40,

// 已完成

TRIP_STATUS_DONE = 50,

// 已取消

TRIP_STATUS_CANCELED = -1

};

三雀鹃、注釋規(guī)范

? ? ?最好的代碼是不需要注釋的 盡量通過(guò)合理的命名

? ? ?良好的代碼把含義表達(dá)清楚 在必要的地方添加注釋

? ? ?注釋需要與代碼同步更新

? ? 如果做不到命名盡量的見名知意的話舷暮,就可以適當(dāng)?shù)奶砑右恍┳⑨尰蛘適ark.

? 1. 文件頭

? ? ? 與公司的要求統(tǒng)一

? ? ?1.1 必須出現(xiàn) 文件創(chuàng)建者, 創(chuàng)建日期帕涌,創(chuàng)建者聯(lián)系方式

//

//? UserCenterViewController.h

//? GuaGuaPassenger

//

//? Created by Wang Hai Long (wanghailong096@sunfit.cn) on 10/10/2016.

//? Copyright ? 2016 Sunfit. All rights reserved.

? ?2. 屬性注釋

? ? ? 例子:

? ? /** 學(xué)生 */

? ? @property (nonatomic, strong) Student *student;

? ?3. 方法聲明注釋:

? ? ? 以下情況必須加注釋

? ? ?3.1 接口中定義的所有方法

? ? ?3.2 抽象類中自定義的抽象方法

? ? ?3.3 抽象父類的自定義公用方法

? ? ?3.4 工具類的公用方法

? ? option+command+? 自動(dòng)生成注釋格式

/**

* @brief 登錄驗(yàn)證

*

* @param personId 用戶名

* @param password 密碼

* @param complete 執(zhí)行完畢的block

*

* @return

*/

+ (void)loginWithPersonId:(NSString *)personId

password:(NSString *)password

complete:void (^)(CheckLogon *result))complete;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末摄凡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蚓曼,更是在濱河造成了極大的恐慌亲澡,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纫版,死亡現(xiàn)場(chǎng)離奇詭異床绪,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)其弊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門癞己,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人梭伐,你說(shuō)我怎么就攤上這事痹雅。” “怎么了糊识?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵绩社,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我赂苗,道長(zhǎng)愉耙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任拌滋,我火速辦了婚禮劲阎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸠真。我一直安慰自己,他們只是感情好龄毡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布吠卷。 她就那樣靜靜地躺著,像睡著了一般沦零。 火紅的嫁衣襯著肌膚如雪祭隔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音疾渴,去河邊找鬼千贯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛搞坝,可吹牛的內(nèi)容都是我干的搔谴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼桩撮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼敦第!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起店量,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤芜果,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后融师,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體右钾,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年旱爆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了舀射。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疼鸟,死狀恐怖后控,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情空镜,我是刑警寧澤浩淘,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站吴攒,受9級(jí)特大地震影響张抄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洼怔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一署惯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧镣隶,春花似錦极谊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至域那,卻和暖如春咙边,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工败许, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留王带,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓市殷,卻偏偏與公主長(zhǎng)得像愕撰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子被丧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容