Skip to content

Instantly share code, notes, and snippets.

@ruangrit
Created October 8, 2015 15:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ruangrit/b42221059fa0675bed8d to your computer and use it in GitHub Desktop.
Save ruangrit/b42221059fa0675bed8d to your computer and use it in GitHub Desktop.
homework
function printTri(size, isBlank) {
// validate
if (isBlank && size < 3) {
console.log('Size should mor than 3');
return false;
}
var i;
var star;
var blank;
for(i = 1; i <= size; i++) {
star = (2*i) - 1;
blank = size - i;
if (size == i) {
isBlank = false;
}
console.log(getBlankText(blank) + getStarText(star, isBlank));
}
}
function getStarText(star, isBlank) {
var i = 0;
var starText = '';
for (i = 0; i < star; i++) {
if (!isBlank) {
starText += '*';
}
else {
if (i === 0 || i == (star - 1)){
starText += '*';
}
else {
starText += ' ';
}
}
}
return starText;
}
function getBlankText(star) {
var i = 0;
var starText = '';
for (i = 0; i < star; i++) {
starText += ' ';
}
return starText;
}
printTri(5);
printTri(5, true);
@noomz
Copy link

noomz commented Oct 11, 2015

เลือก syntax เป็น javascript ด้วย

@noomz
Copy link

noomz commented Oct 11, 2015

Comment : code style

  • indent เยอะไป ควรใช้ space แทน tab
  • ตัวแปรอ่านยากไปหน่อย เช่น star, blank ตอนแรกงงนึกว่าเป็น text จริงๆ คือ integer
  • ใน getBlankText() แต่ว่าตั้งชื่อตัวแปรเป็น starText
  • บรรทัด 25-35 ลดเหลือแค่นี้ได้
if (!isBlank || i === 0 || i == (star - 1)) {
  starText += '*';
}   
else {
  starText += ' ';
}
  • จริงๆ แบบ blank ก็ใส่ input เป็น 1,2 ได้นะ เพราะตอน n = 1,2 มันก็จะวาดเหมือนแบบไม่ blank นั่นแหละ

comment อื่นๆ

โอเคหมดแล้ว เรียบง่าย ฉับไว

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment