30/09/2018, 21:46

V/v Tối ưu mã nguồn

Mọi người đánh giá xem giúp hai chương trình sau về mọi khía cạnh như coding style, tính tối ưu … và mọi người xem thích cái nao hơn với nhé.
Code 1

#include <iostream>
#include <conio.h>

using namespace std;
int Sum = 0;

int sumOddDigit(int n) {
	if (n < 0) return -1;
	int k = n % 10;
	if (k != 0) {
		if (k % 2 != 0) S += k;
		return sumOddDigit(n / 10);
 	}
}

int main() {
	S = sumOddDigit(101010);
	cout << S;
        _getch();
        return 0;
}

code 2

#include <iostream>
#include <conio.h>

using namespace std;

int sumOddDigit(int n) {
	if (n<0) return -1;
	static int S = 0;
	int i = n % 10;
	n = n / 10;
	if (i % 2 == 1) S += i;
	if (n == 0) return S; 
        else return sumOddDigit(n);
}

void main() {
	cout << sumOddDigit(101010);
        _getch();
}

thanks!

Tao Không Ngu. viết 23:48 ngày 30/09/2018

This post was flagged by the community and is temporarily hidden.

Nhìn vào hàm thấy 2 hàm đều khó hiểu như nhau, nói thằng ra code này do newbie viết…
Thời đại bây giờ cần code dễ hiểu, thậm chí nếu code dài hơn mà dễ hiểu thì nó đáng giá gấp trăm lần code ngắn nhưng khó hiểu

Lovej Ava viết 00:02 ngày 01/10/2018

À cái đệ quy là do yêu cầu bạn ơi

Lovej Ava viết 23:58 ngày 30/09/2018

cảm ơn đã cmt, nhưng có vẻ bạn nói chưa thuyết phục giữa dể hiểu và tính hiệu quả, nhanh gọn thì sao lại được thời đại bây giờ cần được nhỉ.

Tao Không Ngu. viết 23:56 ngày 30/09/2018

This post was flagged by the community and is temporarily hidden.

Văn Dương viết 00:02 ngày 01/10/2018

Vì thời đại bây giờ máy tính nó nhanh lắm rồi. Và đa số các việc thì không cần tốc độ cao. Những ngôn ngữ bị cho là chậm như Java C# vẫn viết được thì C++ có nhanh cũng không mang nhiều ý nghĩa trong đa số các trường hợp.

Một sản phẩm thường kèm cả 2 quá trình : bảo trì và phát triển và trong 2 quá trình đó có nhiều người làm. Nên người ta cần code viết dễ hiểu nhất để đến lúc làm còn đọc được, nhìn vào là hiểu được ngay. Viết thật ngắn, khó hiểu suy cho cùng là dạng ảo tưởng thôi, có gì đâu. Đến lúc code của mình mà mình còn đọc không nổi là không tốt đâu.

Pham Van Hai viết 23:58 ngày 30/09/2018
  • Tất cả các ngôn ngữ lập trình mục đích chính yếu cũng chỉ để cho con người có thể hiểu được nên code càng đơn giản dễ hiểu thì càng tốt. Sau này nếu phát sinh lỗi còn hiểu mà sửa chứ.
Bài liên quan
0