由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请问怎么能把代码写得简洁?
相关主题
求帮忙看看哪里有问题!两道面试题,请大家说说看法
贡献个facebook电话interview只刷了110道现在。
Implement strStr() ?fb电话面试
strstr的复杂度和worst case是什么?leetcode 的 strStr 可不可以不用kmp
能不能讨论一下kmp放c code求老师傅指教
三哥题刷的不赖啊我恨iPhone@Facebook电面
题目: string pattern matching w/ wildcard (.*)遭遇老印interviewer...
bloomberg onsite & offerFB两次电面
相关话题的讨论汇总
话题: haystack话题: char话题: null话题: needle话题: strstr
进入JobHunting版参与讨论
1 (共1页)
a***e
发帖数: 413
1
最近做leetcode,有的题花很长时间能写出来,但长得很。不知道怎么才能写得简洁一
些,特别是在面试那种时间有限的情况下。多谢大牛分享经验!
比如那道strstr()
char *strStr(char *haystack, char *needle) {
if (haystack==NULL || needle==NULL) return NULL;
char *needleHead = needle;
char *hsHead = haystack;
int hl=0, nl=0;
while(*haystack!='
l****1
发帖数: 33
2
写得很长,可能方法有问题。
面试在有限的时间不可能写出很长的代码。
e********3
发帖数: 18578
3
几个基本原则,indentation和curly braces是很重要的,还有就是变量和方法命名要
合理,让人一目了然,好的变量和函数方法名比comment强100倍。还有就是简洁不要牺
牲可达性,比如这么一段简单的代码,
char *strStr(char *haystack, char *needle) {
if (haystack==NULL || needle==NULL) {
return NULL;
}
char *needleHead = needle;
char *hsHead = haystack;
int hl=0, nl=0;
while(*haystack!='
我不知道这里hl, nl什么意思,如果改写成一个更加明确的变量名,这样感觉就好看一
些了,其实写代码跟写文章一样,虽然你要追求美丽的用词和简洁的文风,但是什么都
有个度,太抠语言的一些quirk了最后写出来的就是生涩难懂。
写简洁漂亮的代码最好的办法就是多看看牛人是怎么写的,和写作一样,熟读唐诗三百
首,不会作诗也会吟。还有一点就是要千锤百炼,反复斟酌,没有什么好的代码和文章
是一遍就能写出来的,所以Scrum里面code review是很重要的,对于整个团队的代码
consistency都是有很大帮助的。

【在 a***e 的大作中提到】
: 最近做leetcode,有的题花很长时间能写出来,但长得很。不知道怎么才能写得简洁一
: 些,特别是在面试那种时间有限的情况下。多谢大牛分享经验!
: 比如那道strstr()
: char *strStr(char *haystack, char *needle) {
: if (haystack==NULL || needle==NULL) return NULL;
: char *needleHead = needle;
: char *hsHead = haystack;
: int hl=0, nl=0;
: while(*haystack!='

1 (共1页)
进入JobHunting版参与讨论
相关主题
FB两次电面能不能讨论一下kmp
说说某著名软件公司的onsite面试三哥题刷的不赖啊
A technical question about C题目: string pattern matching w/ wildcard (.*)
菜鸟求救 请大家看看我的代码有没有问题bloomberg onsite & offer
求帮忙看看哪里有问题!两道面试题,请大家说说看法
贡献个facebook电话interview只刷了110道现在。
Implement strStr() ?fb电话面试
strstr的复杂度和worst case是什么?leetcode 的 strStr 可不可以不用kmp
相关话题的讨论汇总
话题: haystack话题: char话题: null话题: needle话题: strstr