Programming lebih santai lagi

Pak Budi sudah mengeluarkan software yang lebih singkat lagi dalam bahasa Perl, setelah saya membuat versi C dari software tersebut.. Penasaran saya, kalau code tersebut diubah menjadi C, sepert apa bentuk rupanya ? Inilah hasilnya, diketik di Netbeans, jadi otomatis dirapikan oleh Netbeans supaya lebih mudah dibaca. Kelihatannya lebih panjang dari versi Perl, namun sebenarnya ini pemetaan satu ke satu dari Perl ke C.


#include
#include
int main(int argc, char** argv) {
    int m = 4;
    int n = 4;
    int x, y;
    int neighbor;
    for (y = 0; y < n; y++) {
        for (x = 0; x < m; x++) {
            printf("%d: ", y * m + x);
            if (y != 0) {
                neighbor = (y - 1) * m + x;
                printf("%d ", neighbor);
            }// #N
            if (!(x == (m - 1))) {
                neighbor = y * m + (x + 1);
                printf("%d ", neighbor);
            }; // } #E
            if (!(y == (n - 1))) {
                neighbor = (y + 1) * m + x;
                printf("%d ", neighbor);
            }//#S
            if (x != 0) {
                neighbor = y * m + (x - 1);
                printf("%d ", neighbor);
            }//#W
            printf("\n");
        }
    }
    return (EXIT_SUCCESS);
}

outputnya:

0: 1 4
1: 2 5 0
2: 3 6 1
3: 7 2
4: 0 5 8
5: 1 6 9 4
6: 2 7 10 5
7: 3 11 6
8: 4 9 12
9: 5 10 13 8
10: 6 11 14 9
11: 7 15 10
12: 8 13
13: 9 14 12
14: 10 15 13
15: 11 14

Lumayan, jarang-jarang ada coding santai seperti ini.

8 thoughts on “Programming lebih santai lagi

  1. Dulu sih senang bikin software yang pendek, cuma sekarang-sekarang ini saya sendiri sih lebih suka membuat software yang ‘maintainable’, antara lain dengan menggunakan ‘self documenting code’ yaitu softaware yang mudah dibaca, menggunakan software otomatis pembuat dokumentasi seperti doxygen untuk C (http://www.doxygen.org/), phpdocumentor untuk PHP (http://www.phpdoc.org/), dan tentu saja menggunakan source code management seperti mercurial. Tentu saja diagram blok serta penjelasan isi software harus ada, kalau bisa pakai UML lebih bagus.

  2. Ping balik: Kode yang lebih singkat dan lebih mudah dibaca | J.a.i.m's Diary

  3. Ping balik: Minimal Code in Python « GAIBlog

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s