Skip to content

Commit 0b90422

Browse files
committed
辨析:Login是名词,LogIn是动词【第一题,风格改错题】
1 parent 277911c commit 0b90422

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(上).md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,21 @@
6969

7070

7171
5. 如果工程项目非常庞大,需要拆分成不同的模块,可以在类、typedef宏命名的时候使用前缀。
72-
6. doLogIn方法不应写在该类中:虽然`LogIn`的命名不太清晰,但笔者猜测是login的意思,而登录操作属于业务逻辑,观察类名 UserModel ,以及属性的命名方式,该类应该是一个 Model 而不是一个“ MVVM 模式下的 ViewModel ”:
72+
6. doLogIn方法不应写在该类中: <p><del>虽然`LogIn`的命名不太清晰,但笔者猜测是login的意思, (勘误:Login是名词,LogIn 是动词, [ ***Log in vs. login*** ](http://grammarist.com/spelling/log-in-login/))</del></p>登录操作属于业务逻辑,观察类名 UserModel ,以及属性的命名方式,该类应该是一个 Model 而不是一个“ MVVM 模式下的 ViewModel ”:
7373

7474

7575
> 无论是MVC模式还是MVVM模式,业务逻辑都不应当写在Model里。
7676
7777

78-
(如果抛开命名规范,假设该类真的是MVVM模式里的 ViewModel ,那么UserModel这个类可能对应的是用户注册页面,如果有特殊的业务需求,比如:login对应的应当是注册并登录的一个Button,出现login方法也可能是合理的。)
78+
(如果抛开命名规范,假设该类真的是MVVM模式里的 ViewModel ,那么UserModel这个类可能对应的是用户注册页面,如果有特殊的业务需求,比如: `-logIn` 对应的应当是注册并登录的一个Button,出现 `-logIn` 方法也可能是合理的。)
7979

8080
7. doLogIn方法命名不规范:添加了多余的动词前缀。
8181
请牢记:
8282

8383
> 如果方法表示让对象执行一个动作,使用动词打头来命名,注意不要使用`do``does`这种多余的关键字,动词本身的暗示就足够了。
84+
85+
应为 `-logIn` (注意:Login是名词,LogIn 是动词, 见[ ***Log in vs. login*** ](http://grammarist.com/spelling/log-in-login/)
86+
8487
11. `-(id)initUserModelWithUserName: (NSString*)name withAge:(int)age;`方法中不要用`with`来连接两个参数:`withAge:`应当换为`age:``age:`已经足以清晰说明参数的作用,也不建议用`andAge:`:通常情况下,即使有类似`withA:withB:`的命名需求,也通常是使用`withA:andB:`这种命名,用来表示方法执行了两个相对独立的操作(*从设计上来说,这时候也可以拆分成两个独立的方法*),它不应该用作阐明有多个参数,比如下面的:
8588

8689
```objective-c

0 commit comments

Comments
 (0)