Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Project-wide source comparison tools for C++?

Îåêßíçóå áðü ôï ìÝëïò BruteForce. Τελευταία δημοσίευση από το μέλος Markos στις 28-01-2011, 01:05. Υπάρχουν 14 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  24-01-2011, 14:40 62631

    Project-wide source comparison tools for C++?

    Καλά μεγάλη πλάκα... έψαξα στα γρήγορα να βρω ένα tool να μου συγκρίνει ένα project ΠΡΙΝ.vs.ΜΕΤΑ και να μου δώσει μερικά χρήσιμα στατιστικά και κατά σατανική σύμπτωση όλα τα free είναι online...
    Τι λε ρε μάγκα, θα σου ανεβάσω τον κώδικά μου στους servers σου για να μου τον ελέγξεις για plagiarization? Κούφανέ μας...

    Anyway, ξέρει κανείς κάποιο offline tool που να κάνει οτιδήποτε ελάχιστα πιο χρήσιμο από τα statistics του WinMerge;
    Βασικά θέλω να συγκρίνω τον κώδικα στη φάση Α και πώς είναι μετά από 3 μήνες π.χ.

    Thanks!

    The fact that the program works is irrelevant.
  •  24-01-2011, 15:12 62638 σε απάντηση της 62631

    Απ: Project-wide source comparison tools for C++?

    Υποθέτω ότι δεν σου κάνουν τα εργαλεία του version control που χρησιμοποιείς? Για παράδεγιμα, το Mercurial χρησιμοποιεί διάφορα diff αρκεί να του δώσεις το σωστό command-line. 

    Τί είδους στατιστικά ψάχνεις και ποιά είναι τα open source που βρήκες? Μήπως μπορείς να βγάλεις τα αποτελέσματα του diff σε κάποια βάση για να κάνεις συγκρίσεις και queries?

    Θυμάμαι ότι κάπου διάβασα ένα άρθρο του Σπινέλλη όπου χρησιμοποιούσε εργαλείο για να βγάλει τα χαρακτηριστικά του κώδικα σε βάση και μετά να τον αναλύσει με sql queries. Δυστυχώς, δεν θυμάμαι καν αν ήταν βιβλίο ή άρθρο (blog post δεν ήταν) οπότε ... καλό ψάξιμο!

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  24-01-2011, 15:30 62639 σε απάντηση της 62638

    Απ: Project-wide source comparison tools for C++?

    ΤΟ ΒΡΗΚΑ! Είναι το CScout. Το χρησιμοποίησε ο Σπινέλλης στο Making Software: What Really Works and Why we Believe it για να συγκρίνει τον κώδικα Windows, FreeBSD, OpenSolaris και Linux (Κεφ. 15: Quality Wars: Open Source vs Proprietary Software). Η πλάκα είναι ότι το αποτέλεσμα ήταν ουσιαστικά ... ισοπαλία! Και τα 4 λειτουργικά είναι τόσο καιρό εκεί έξω που τα χοντρά προβλήματα (όσον αφορά τον κώδικα) έχουν πλέον διορθωθεί.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  24-01-2011, 15:35 62641 σε απάντηση της 62639

    Απ: Project-wide source comparison tools for C++?

    Και μιά και λέμε για εργαλεία ...

    Το Software Craftsmanship Manifesto το υπέγραψες? 

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  24-01-2011, 16:04 62643 σε απάντηση της 62639

    Απ: Project-wide source comparison tools for C++?

    Δυστυχώς το CScout επεξεργάζεται C, όχι C++.
  •  25-01-2011, 12:42 62656 σε απάντηση της 62638

    Απ: Project-wide source comparison tools for C++?

    Παναγιώτης Καναβός:
    Υποθέτω ότι δεν σου κάνουν τα εργαλεία του version control που χρησιμοποιείς? Για παράδεγιμα, το Mercurial χρησιμοποιεί διάφορα diff αρκεί να του δώσεις το σωστό command-line. 

    Τί είδους στατιστικά ψάχνεις και ποιά είναι τα open source που βρήκες? Μήπως μπορείς να βγάλεις τα αποτελέσματα του diff σε κάποια βάση για να κάνεις συγκρίσεις και queries?

    Θυμάμαι ότι κάπου διάβασα ένα άρθρο του Σπινέλλη όπου χρησιμοποιούσε εργαλείο για να βγάλει τα χαρακτηριστικά του κώδικα σε βάση και μετά να τον αναλύσει με sql queries. Δυστυχώς, δεν θυμάμαι καν αν ήταν βιβλίο ή άρθρο (blog post δεν ήταν) οπότε ... καλό ψάξιμο!

    Το ενδιαφέρον μου είναι περισσότερο πρακτικό και λιγότερο ακαδημαϊκό. Θέλω να έχω κάποιο τρόπο να έχω μερικούς δείκτες ώστε να μπορώ να συγκρίνω το ίδιο project σε δύο διαφορετικές φάσεις του και να πάρω κάποια χρήσιμα νούμερα.

    Προφανώς μπορώ να πάρω με κάποια tools κάποια νούμερα στη φάση Α και μετά τα ίδια νούμερα στη φάση Β και να τα συγκρίνω "με το μάτι", αλλά ψάχνω κάτι λίγο πιο χρήσιμο. Δεδομένου ότι η οποιαδήποτε αλλαγή σε ένα code base δημιουργεί νέα bugs, κλπ, πιστεύω ότι μπορούν να βγούνε μερικά και πιο ουσιαστικά νούμερα.

    Για να εξηγήσω το πρακτικό μου ενδιαφέρον πρέπει να καταλάβεις πώς και με ποιούς δουλεύω, όταν η εταιρία μου παρέχει υπηρεσίες software consulting.

    Οι πελάτες μου λοιπόν είναι συνήθως εταιρίες hardware οι οποίες ήδη έχουν αρκετό software που συνοδεύει τα προϊόντα τους. Αλλά ΔΕΝ είναι software houses και πολλές φορές δεν έχουν κανέναν dedicated software developer in-house, απλά οι hardwareάδες τους ξέρουν αρκετά καλά από κώδικα και δουλεύουν με software contractors.

    Για να πάρω δουλειά από αυτούς σημαίνει ότι:

    • 1.       Κάποιο νέο feature ή application είναι αρκετά πολύπλοκο και εμπλέκει πιθανώς και τους drivers τους, και είτε θεωρούν ότι δεν μπορούν να το κάνουν μόνοι τους, είτε θεωρούν ότι τους συμφέρει να το αναθέσουν σε μένα, γιατί θα το κάνω πιο γρήγορα , πιο οικονομικά και πιο σωστά.
    • 2.       Κάποιο υπάρχον software τους έχει σοβαρά προβλήματα stability/reliability και χρειάζεται εκτενές ρεκτιφιέ.
    • 3.       Κάποιο υπάρχον software τους έχει φτάσει στα όρια της αντοχής του και θέλει rewrite από το μηδέν.

     Και αυτό μας φέρνει στην ανθρώπινη πλευρά των business.

    Πας να ασχοληθείς με μια περίπτωση #2, δηλαδή το ξέρουν ότι έχουν προβλήματα και σε πληρώνουν να τους βοηθήσεις, παρόλ'αυτά σε πονάει όταν σου σβήνουνε τον κώδικα... με αποτέλεσμα οι ίδιοι άνθρωποι να αντιστέκονται σθεναρά στο ότι διόρθωσες το ένα και το άλλο και να υποστηρίζουν ότι ο αρχικός κώδικας ήταν "καλύτερος".

    Οι δυνατότητες για debating είναι άπειρες. Θα μπορούσα να πω ότι οι διάλογοι είναι απείρου κάλλους, αλλά δεν μιλάω με πιθήκους πλέον, μιλάω με σοβαρούς και πανέξυπνους ανθρώπους που έχουν 15-25 χρόνια engineering στην πλάτη, είναι μέτοχοι σε εταιρίες που βγάζουν αρκετά λεφτά κάθε χρόνο, κλπ.

    Πάρε για παράδειγμα:

    Customer: No I disagree, the original code was better. Why you had to change the original code? Show me one mistake, ONE mistake in the original code!

    Me: File SuchAndSuch.cpp line(123), blah blah, this is a bug.

    Customer: Yes you are right, but this is minor. Show me another one.

    Me: File SuchAndSuch.cpp line(234), blah blah, this is a bug because of poor coding.

    Customer: Yes you are right, but this is minor too. Show me another one.

    Me: File SuchAndSuch.cpp line(345), blah blah, this is a bug because the program was displaying the mouse location even when the mouse was outside the image.

    Customer: Yes you are right, but it doesn't matter, it doesn't bother anyone. Show me another one.

    Me: File SuchAndSuch.cpp line(456), blah blah, this will deadlock the threads and freeze the video display.

    Customer: Yes you are right, but all the others are minor.

     

    Τι βλέπεις στον παραπάνω διάλογο; Ο άνθρωπος αλλάζει τους κανόνες της συζήτησης όποτε και όπως τον βολεύει, απλά γιατί τον πονάει που του έσβησα τον κώδικα (παρότι με πληρώνει ακριβώς για αυτό), και επειδή θεωρεί ότι η άποψή μου είναι υποκειμενική ενώ η δική του είναι λιγότερο υποκειμενική.

    Εγώ λοιπόν σε αυτό το σημείο θα ήθελα να έχω μερικά μη υποκειμενικά στατιστικά του ΠΡΙΝ vs ΜΕΤΑ ώστε να μην εμπλακεί η συζήτηση σε συναισθήματα για τον κώδικα.

    Και έχω δει τα απλά στατιστικά του WinMerge να κάνουν θαύματα, οπότε ψάχνω για κάτι ακόμα καλύτερο. Κοίτα το εξής σενάριο (επίσης πραγματικό case) για να καταλάβεις τι εννοώ θαύματα:

    Ο πελάτης έκανε μερικά "extensive changes" (according to his own words) στον κώδικά μου επειδή δεν του "πολυάρεσαν" μερικά πράγματα, αλλά η μία αλλαγή οδήγησε στην άλλη και τελικά σάρωσε ένα σκασμό κώδικα.

    (Friday) Customer: OK, I am done with the code, it is finished. I didn't have time to test it fully and I also have some bugs that I didn't know how to solve myself, I have put comments in the code, so please test the application yourself and also fix those bugs. We have to release on Wednesday.

    Εννοείται εδώ βαρέσαν όχι απλώς καμπανάκια, μέχρι τη Notre Dame φτάσαμε...

    (Friday) Δοκιμάζω την εφαρμογή σαν απλός χρήστης χωρίς καν να κοιτάξω τον κώδικα. Βρίσκω 1 BSOD, 2 κρασαρίσματα της εφαρμογής, 1 πάγωμα του video, 1 corrupted video, λανθασμένο save image to disk, και άλλα 10 περίπου καραμπινάτα bug. Του στέλνω τη λίστα.

    (Saturday) Customer: Why did you spend all day testing and send me this list? Why didn't you fix the bugs? I am under immense pressure and you don't want to help me!

    Μετά από 10 ώρες στο τηλέφωνο όλο το ΣΚ, και δύο rollbacks από πλευράς τους, άρχισε να συμφωνεί ότι εντάξει ήταν project management error από την πλευρά τους να κάνουν τόσες αλλαγές 20 μέρες πριν το release αλλά επιμένει ότι μπορώ να βοηθήσω και δεν θέλω  (είμαστε 3 μέρες πριν το release…).

    Σε αυτό το σημείο του πέταξα τα στατιστικά του WinMerge και είδε ότι σε σχέση με τον τελευταίο known-good κώδικα που τους είχα δώσει, αυτοί είχαν πειράξει το 80% των αρχείων και επιπλέον προσθέσει άλλα 16 αρχεία κώδικα.

    Και τον ρωτάω "Το θεωρείς παράλογο με 80% πειραγμένο κώδικα και 16 νέα αρχεία, τις τελευταίες 20 μέρες, και 3 μέρες πριν το release, ότι δεν θέλω να εμπλακώ βαθιά στην υπόθεση;"

    Και επειδή ακριβώς αυτά τα νούμερα είναι αντικειμενικά, το πρόβλημά μου λύθηκε. Παραδέχτηκαν ότι έχω δίκιο και ηρεμήσαν.

    Εγώ φυσικά σε όλη την διάρκεια της κρίσης είχα προτείνει να κάνουμε rollback στον τελευταίο κώδικα που είχα στείλει, που ήταν 100% stable, να βγάλουμε stable release και μετά να κάνουμε ό,τι αλλαγές θέλουν, αλλά να τις κάνω εγώ. 

    Και φυσικά ο ανθρώπινος παράγοντας δούλεψε παλι. Επιμείνανε στο όχι rollback για αυτό το release, αλλά αποφασίσανε να σπρώξουν μια βδομάδα το release date, να κάνουμε ότι μπορούμε να περισώσουμε την κατάσταση και ΜΕΤΑ θα κάνουμε rollback στον κώδικά μου και θα ξανακάνουμε τις αλλαγές.

    Μόνο και μόνο η σχιζοφρενικότητα αυτής της απόφασης δείχνει πόσο πολύ τα συναισθήματα επηρεάζουν σοβαρούς ανθρώπους με τόσα χρόνια εμπειρία.

    Τώρα νομίζω καταλαβαίνεις γιατί πιστεύω ότι θα ήταν χρήσιμο να έχω ένα τέτοιο εργαλείο. Θα μπορούσε να θέσει την οποιαδήποτε συζήτηση σε βάση αντικειμενική, όταν αυτή έχει εκτροχιαστεί.

    Δεν θέλω όμως πολύπλοκα και σοφιστικέ εργαλεία, με 158 διαφορετικούς δείκτες και 49 υποστηριζόμενες γλώσσες προγραμματισμού, που να θέλει βάσεις και να περιμένει να σχεδιάσω δικά μου queries για να βγάλω συμπεράσματα, κλπ. Θέλω κάτι KISS.

    Θα μπορούσαμε να το κάνουμε διπλωματική/PhD στον Σπινέλλη! LOL

    Δημήτρης


    The fact that the program works is irrelevant.
  •  27-01-2011, 18:29 62723 σε απάντηση της 62656

    Απ: Project-wide source comparison tools for C++?

    Ρε παιδιά, αυτή τη στιγμή που γράφω το DNZ μου δείχνει ότι το thread έχει 2058 αναγνώσεις.
    Παρόλ'αυτά ΜΗΔΕΝ χρήσιμες απαντήσεις.
    Θα με κάνετε να πιστέψω ότι έχασα το χρόνο μου που γράφω σε αυτό το site τελικά...
    Είναι δυνατόν τόσος κόσμος και να μην υπάρχει ένας άνθρωπος που να έχει κάνει source code comparisons ή άλλου είδους metrics;
    Αποκλείεται!
    Άρα;
    Είτε βαριέστε, είτε φοβάστε να μιλήσετε μην τυχόν και πείτε μ@λ@κί@ και κοιτάζουν το thread τόσα μάτια.
    Και τα δύο είναι άκυρα.
    Άντε γράψτε κάτι...

    The fact that the program works is irrelevant.
  •  27-01-2011, 18:48 62725 σε απάντηση της 62723

    Απ: Project-wide source comparison tools for C++?

    BruteForce:
    Ρε παιδιά, αυτή τη στιγμή που γράφω το DNZ μου δείχνει ότι το thread έχει 2058 αναγνώσεις.
    Παρόλ'αυτά ΜΗΔΕΝ χρήσιμες απαντήσεις.

    Χμ... Θα ήταν χρήσιμο να αναφέρεις ποια έχεις ήδη κοιτάξει και τα έχεις αποκλείσει. Ένα από τα free είναι το CodeCompare της Devart. Έχει και Pro edition επί πληρωμή. Δεν ξέρω, όμως, αν σε καλύπτει....


    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
  •  27-01-2011, 19:03 62727 σε απάντηση της 62723

    Απ: Project-wide source comparison tools for C++?

    Υπάρχει και η άλλη περίπτωση, να μην προλαβαίνουμε να ψάξουμε για ένα θέμα το οποίο δεν έχει χρειαστεί να κοιτάξουμε στο παρελθόν. Τα metrics γενικά δεν έχουν μεγάλη αξία καθώς η ερμηνεία των "αντικειμενικών" αριθμών είναι συνήθως υποκειμενική. Από την άλλη, όταν έχεις την κατάλληλη έκδοση του  Visual Studio έχεις έτοιμα και code metrics, οπότε η ανάγκη για αναζήτηση ή δημιουργία τέτοιου εργαλείου μειώνεται. Δεν είναι περίεργο ότι στο .ΝΕΤ δεν υπάρχουν πολλά open-source εργαλεία για code metrics.

    Θα σε μαλώσω πάντως, γιατί δεν έκανες σήμερα search για Visual Studio Code Metrics, αλλιώς θα έβλεπες ότι ... βγήκαν ΧΘΕΣ ως power tool! Ούτε τηλεπαθητική να ήταν η Microsoft. Εκτελείται ως command line και δημιουργεί report με Cyclomatic Complexity, Depth of Inheritance, Class Coupling, Lines Of Code (LOC) και το (κατά τη γνώμη μου) αρκετά παραπλανητικό Maintainability Index

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  27-01-2011, 19:43 62729 σε απάντηση της 62727

    Απ: Project-wide source comparison tools for C++?

    Markos:

    Χμ... Θα ήταν χρήσιμο να αναφέρεις ποια έχεις ήδη κοιτάξει και τα έχεις αποκλείσει. Ένα από τα free είναι το CodeCompare της Devart. Έχει και Pro edition επί πληρωμή. Δεν ξέρω, όμως, αν σε καλύπτει....


    :-) Έκανα μια πρώτη προσπάθεια και τα περισσότερα που βρήκα ήταν online services.
    Προφανώς κώδικα δικό μου ή πελατών ΑΠΟΚΛΕΙΕΤΑΙ να ανεβάσω σε οποιουδήποτε το online service.
    Έγραψα το post ελπίζοντας να πάρω απάντηση από κάποιον που έχει χρησιμοποιήσει κάποιο tool, ώστε να πάρω μια συμβουλή που έχει αξία.
    Το να ψάξω το www και να δω τι υπάρχει available προφανώς μπορώ να το κάνω και μόνος μου.

    Εσύ έχεις χρησιμοποιήσει το CodeCompare;

    Παναγιώτης Καναβός:
    Υπάρχει και η άλλη περίπτωση, να μην προλαβαίνουμε να ψάξουμε για ένα θέμα το οποίο δεν έχει χρειαστεί να κοιτάξουμε στο παρελθόν. Τα metrics γενικά δεν έχουν μεγάλη αξία καθώς η ερμηνεία των "αντικειμενικών" αριθμών είναι συνήθως υποκειμενική. 
    Νομίζω περιέγραψα αναλυτικά την κατάστασή μου.
    Δεν εξετάζω από επιστημονικής/ακαδημαϊκής απόψεως το ποια είναι η αξία των metrics, ούτε το ποια είναι χρήσιμα περισσότερο ή λιγότερο.
    Με ενδιαφέρει να έχω κάποια metrics ώστε να διευκολυνθώ στον χειρισμό των πελατών μου, διότι όπως φαίνεται ακόμα και με τα metrics του WinMerge έχω θαυματουγά αποτελέσματα.
    Πόσο μάλλον αν έχω τίποτα πιο σοβαρό.

    Παναγιώτης Καναβός:
    Από την άλλη, όταν έχεις την κατάλληλη έκδοση του  Visual Studio έχεις έτοιμα και code metrics, οπότε η ανάγκη για αναζήτηση ή δημιουργία τέτοιου εργαλείου μειώνεται. Δεν είναι περίεργο ότι στο .ΝΕΤ δεν υπάρχουν πολλά open-source εργαλεία για code metrics.

    Έχω την maximum version του Visual Studio 2008. Πιο πέρα δεν πάει.
    Όμως γράφουμε C++ και όταν δοκίμασα το σχετικό menu item πήρα ένα υβριστικό μήνυμα από το VSTS γιατί λέει δεν γράφω .ΝΕΤ :-P

    Παναγιώτης Καναβός:
    Θα σε μαλώσω πάντως, γιατί δεν έκανες σήμερα search για Visual Studio Code Metrics, αλλιώς θα έβλεπες ότι ... βγήκαν ΧΘΕΣ ως power tool! Ούτε τηλεπαθητική να ήταν η Microsoft. Εκτελείται ως command line και δημιουργεί report με Cyclomatic Complexity, Depth of Inheritance, Class Coupling, Lines Of Code (LOC) και το (κατά τη γνώμη μου) αρκετά παραπλανητικό Maintainability Index
    Χαχα, μάλωσέ με όσο θες που δεν κάνω κάθε μέρα search για τα ίδια και τα ίδια.
    Από την άλλη μπορείς να με συγχαρείς καθώς απ'ότι φαίνεται οι ανάγκες μου έχουν perfect timing :-)

    Δημήτρης

    The fact that the program works is irrelevant.
  •  27-01-2011, 20:28 62730 σε απάντηση της 62729

    Απ: Project-wide source comparison tools for C++?

    Και ξαφνικά, το πληκτρολόγιο δεν γύριζε στα ελληνικά!! Ήμουν στο μέσο ενός update, οπότε και δε μπορούσα ν' απαντήσω.

    BruteForce:

    Εσύ έχεις χρησιμοποιήσει το CodeCompare;

    Όχι. Ακόμα και να το είχα χρησιμοποιήσει, μόνο εσύ μπορείς ν' αξιολογήσεις το αν σου κάνει. Γι' αυτό ρώτησα πιο πάνω ποια έχεις χρησιμοποιήσει και τους λόγους που τα έχεις αποκλείσει...


    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
  •  27-01-2011, 22:04 62732 σε απάντηση της 62631

    Απ: Project-wide source comparison tools for C++?

    Καλησπέρα σε όλους τους φίλους.

    Πριν από αρκετά χρονια είχα ασχοληθεί με το CCCC.
    θυμάμαι ότι ήταν brain-dead απλό - command line και παρήγαγε html report.

    Δεν είχα ασχοληθεί με τα metrics του, γιατί  το ήθελα για άλλο λόγο (να μελετήσω μια λεπτομέρεια στον ANTLR generated C++ parser).

    Επειδή θυμάμαι ότι ήταν απλό give it a quick try.

    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
  •  27-01-2011, 22:15 62734 σε απάντηση της 62730

    Απ: Project-wide source comparison tools for C++?

    Για να πω κι εγώ την μ@λ@κί@ μου, δεν έχω καταλάβει τι θεωρείς "χρήσιμο" metric. Δηλαδή έχω καταλάβει τι θες να πετύχεις με τα metrics αλλά όχι τι θα μπορούσε να είναι χρήσιμο για σένα, δεδομένου ότι θες κάτι παραπάνω από τα statistics του WinMerge. Λες "ένα tool να μου συγκρίνει ένα project ΠΡΙΝ.vs.ΜΕΤΑ και να μου δώσει μερικά χρήσιμα στατιστικά", λες  "Θέλω να έχω κάποιο τρόπο να έχω μερικούς δείκτες ώστε να μπορώ να συγκρίνω το ίδιο project σε δύο διαφορετικές φάσεις του και να πάρω κάποια χρήσιμα νούμερα" αλλά δεν μπορώ να φανταστώ τι θα μπορούσε να είναι χρήσιμο για σένα. Για να το πω διαφορετικά, ξέρω το abstract αλλά όχι το concrete...

    Α! Και το θες και KISS. Τελικά, μήπως με τα VS extensions μπορείς να φτιάξεις αυτό που θες;


    Vir prudens non contra ventum mingit
  •  27-01-2011, 23:57 62735 σε απάντηση της 62730

    Απ: Project-wide source comparison tools for C++?

    Markos:

    Όχι. Ακόμα και να το είχα χρησιμοποιήσει, μόνο εσύ μπορείς ν' αξιολογήσεις το αν σου κάνει. Γι' αυτό ρώτησα πιο πάνω ποια έχεις χρησιμοποιήσει και τους λόγους που τα έχεις αποκλείσει...


    Μου αρέσει που ακριβολογείς Μάρκο.
    Και μου αρέσει που δεν φοβάσαι να μιλήσεις.

    Για να δοκιμάσουμε την κλίση αυτού του ρήματος:
    "Μόνο εγώ μπορώ να αξιολογήσω αν ΜΟΥ κάνει"
    "Μόνο εσύ μπορείς να αξιολογήσεις αν ΣΟΥ κάνει"
    "Μόνο αυτός μπορεί να αξιολογήσει αν ΤΟΥ κάνει"
    ...

    Δεν ρωτάω να μου πει κάποιος αν κάποιο tool ΜΟΥ κάνει.
    Ρωτάω να μάθω αν κάποιο tool ΤΟΥ κάνει.
    Διότι αυτό πιθανώς μου δίνει ένα head start στην προσπάθειά μου να βρω το κατάλληλο tool.
    Και ρωτάω επειδή είμαι ο κλασικός Έλληνας τεμπέλης τζαμπατζής, "ρεμάλι της πληροφορικής" όπως έλεγε κάποτε κάποιος, που αντί να κάνω μια έρευνα της προκοπής μόνος μου, και να λύσω μόνος μου ξανά ένα πρόβλημα που έχουν αντιμετωπίσει χιλιάδες άλλοι πριν από μένα, προτιμώ να μάθω από την εμπειρία των άλλων κάνοντας μια ερώτηση σε ένα forum το οποίο σέβομαι και από το οποίο ελπίζω να πάρω έστω και ΜΙΑ χρήσιμη πληροφορία για το θέμα.

    Βέβαια ξέρεις ποιό θα ήταν το καλύτερο;
    Να πάθω ένα "not invented here" syndrome και γράψω το δικό μου tool :-P
    Που σίιιιιιιγουρα θα ήταν καλύτερο από όλα τα άλλα που υπάρχουν, έτσι δεν είναι;
    :-)

    Όχι, δεν έχω δοκιμάσει κανένα tool.
    A priori έχω αποκλείσει μόνο τα online services.
    Ψάχνω κάτι όσο πιο KISS γίνεται.

    史德衡

    P.S: Αυτό είναι το κινέζικό μου όνομα.
    Ελπίζω να βλέπετε τους χαρακτήρες και όχι τετραγωνάκια.
    Για όσους δεν το ξέρουν, έχω Κινέζικο όνομα γιατί εδώ και 1.5 χρόνο ζω και δουλεύω στην Ταϊβάν.
    Αν ζούσα στην Αγγλία δεν θα είχα "αγγλικό όνομα" Dimitrios Staikos?
    Έτσι και εδώ, αφού μιλάνε Κινέζικα, πρέπει να έχω ένα Κινέζικο όνομα :-)
    Αυτό όμως που έχει πολύ πλάκα είναι το κινέζικο όνομα της εταιρίας μου: 竭慮
    Το αγγλικό είναι Codemost Technology.
    Μην κουράζεστε με τα google/yahoo translate να βρείτε τι σημαίνει το κινέζικο.
    Το βρήκα σε ένα κινεζο-αγγλικό λεξικό του 1965:
    "To fully concentrate one's efforts to the task at hand".
    Και ναι εδώ τα κινέζικα ονόματα των εταιριών είναι λέξεις που έχουν νόημα.
    Και τα ονόματα επίσης.
    Όποιος έχει άλλες ερωτήσεις σχετικά με το θέμα ας ανοίξει νέο thread, μην το σκίσουμε ετούτο δω...
    Και ας μου στείλει ένα μήνυμα παρακαλώ, ώστε να ξυπνήσω και να κάνω join το thread :-)

    PS2: Δεν θέλω γκρίνιες για το site www.codemost.com.
    Όσοι με γνωρίζουν ξέρουν ότι είμαι αλλεργικός στην HTML και το web programming.
    Οπότε πήρα από κάπου ένα free template, το πείραξα λίγο και τέλος.
    Για την ώρα την κάνει τη δουλειά του!

    The fact that the program works is irrelevant.
  •  28-01-2011, 01:05 62738 σε απάντηση της 62735

    Απ: Project-wide source comparison tools for C++?

    Γιατί να φοβηθώ καλέ να μιλήσω;;;;; Το κεφάλι θα μου πάρουν;!

    Δεν έχω χρησιμοποιήσει ούτε το CodeCompare, ούτε άλλο tool. Ο λόγος είναι απλός. Δουλεύω μόνος μου, σε δικά μου projects. Όταν αναφέρεις μόνο στον εαυτό σου, κακά τα ψέμματα, γνωρίζεις τι έχεις κάνει σωστά και τι έχεις κάνει όχι και τόσο σωστά. Το CodeCompare δεν το πρότεινα "ελαφρά τη καρδία". Το πρότεινα με βάση τα δικά μου κριτήρια. Αν ήθελα ένα εργαλείο που να κάνει σύγκριση στον κώδικα, θα ήθελα κάτι σαν κι αυτό. Να εντοπίζει τις διαφορές και να μου κάνει τη ζωή εύκολη στη διαχείρισή τους (merging, synchronization κ.λπ). Είναι και free. Τώρα, όσον αφορά στα statistics, εφόσον δεν το έχω χρησιμοποιήσει, δεν ξέρω τι metrics παράγει.

    Γυρίζοντας πίσω σε 'σένα τώρα, εκείνο που έχω να παρατηρήσω είναι ότι θέλεις το αποτέλεσμα του όποιου code comparison όχι για σένα, αλλά για τον πελάτη. Αναφέρεσαι δε, σε πελάτες που φαίνονται να είναι "χαλαροί" με τα bugs και να πείθονται από το "ποσοστό" του κώδικα που έχει "πειραχτεί". Δε μιλάμε για κριτήρια ποιότητας κώδικα, έτσι; Για "ποσότητα" γίνεται λόγος. Τουλάχιστον αυτό κατάλαβα από την πορεία της συζήτησης. Το φυσιολογικό, λοιπόν, είναι όποιος διαβάζει το thread να δίνει και από ένα link. Μάλιστα, έτσι όπως το αντιλαμβάνομαι εγώ, τα metrics που έχουν στόχο τον πελάτη πρέπει να είναι τρόπον τινά "περίεργα". Μπορεί να ξεκινούν από το απλό "πόσες σειρές κώδικα έχουν γραφτεί" και να καταλήγουν σε "συγγραφικά" μεγέθη, όπως τη συχνότητα των keywords στο "κείμενο". Κάτι σα να λέμε: "Αυτό το άγνωστο κείμενο είναι του Shakespeare ή όχι; Ας το συγκρίνουμε στατιστικά με γνωστά του έργα για να εκτιμήσουμε την πιθανότητα να έχει γραφτεί από αυτόν." Με αυτά τα δεδομένα, δεν ισχύει καν το ότι "εσύ θα αποφασίσεις αν σου κάνει". Ζητάς ένα εργαλείο που να ικανοποιεί τα κριτήρια του πελάτη.

    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems