Προγραμματισμός

Κριτική προϊόντος: Το Visual Studio 2008 προχωρά με λίγα λάθη

Το Microsoft Visual Studio 2008 (VS08) είναι η τρέχουσα ενσάρκωση της μακράς σειράς IDE της εταιρείας. Είναι το κορυφαίο IDE για την ανάπτυξη εφαρμογών με το Microsoft .Net Framework και, τουλάχιστον, υποψήφιος για το καλύτερο C / C ++ IDE που φιλοξενείται από Windows. Φυσικά, το Visual Studio 2008 δεν περιορίζεται στην ανάπτυξη εφαρμογών επιφάνειας εργασίας. Είναι επίσης καλό για την ανάπτυξη εφαρμογών Web, SOA και συσκευών. Αυτή η έκδοση εισάγει υποστήριξη για το .Net Framework 3.5 και υποστηρίζει και άλλες εκδόσεις του .Net Framework. Παρουσιάζει επίσης το Quote-Integrated Query, έναν γενικό τρόπο ερωτήματος όλων των ειδών δεδομένων σε C # και Visual Basic και πλήρη υποστήριξη για Windows Vista, Silverlight και Windows Presentation Foundation.

Το VS08 διατίθεται σε μια σειρά εκδόσεων, από τις δωρεάν εκδόσεις Express έως 10.000 $ που κάνουν τα πάντα, Visual Studio Team System 2008 Team Suite. Βασικά, οι εκδόσεις Express προορίζονται για αρχάριους, μαθητές και προγραμματιστές χόμπι. Η τυπική έκδοση προορίζεται για μεμονωμένους προγραμματιστές. Το Professional Edition προορίζεται για προχωρημένους προγραμματιστές και για όσους εργάζονται σε μικρές ομάδες.

Το Team Team είναι κυρίως για μεγαλύτερες ομάδες. Υπάρχουν προγράμματα-πελάτες Team System για προγραμματιστές, αρχιτέκτονες, DBA και δοκιμαστές, καθώς και ένας συνδυασμένος πελάτης για όλους τους ρόλους που ονομάζονται Team Suite. Ο διακομιστής για το Team System είναι ο Team Foundation Server (TFS), ο οποίος συνδυάζει μια πύλη ομάδας, έλεγχο έκδοσης, παρακολούθηση στοιχείων εργασίας, διαχείριση κατασκευής, καθοδήγηση διαδικασιών και επιχειρηματική ευφυΐα.

Σε αυτήν την κριτική, θα επικεντρωθώ στις δυνατότητες του VS08 Professional Edition και θα αναφερθώ σε μερικές από τις καλύτερες στιγμές του Team Suite. Δεν θα προσπαθήσω να συζητήσω τον Team Foundation Server ως έχει, παρόλο που έχει λάβει πολλές βελτιώσεις, όπως ένα νέο σύστημα δημιουργίας ομάδων και πρόσβαση στο Διαδίκτυο, από τότε που το εξετάσαμε για τελευταία φορά (δείτε την προεπισκόπηση του Visual Studio 2005 του Tom Yager τον Μάιο του 2004).

Εγκατάσταση και δοκιμή

Έχω κάνει blog σε κάποιο χρονικό διάστημα (εδώ και εδώ) σχετικά με τις δοκιμές και τις δυσκολίες μου για την εγκατάσταση του Team Suite. Κανένα από αυτά δεν πρέπει να σας επηρεάσει, εκτός εάν προσπαθήσετε να απεγκαταστήσετε το VS08 από ένα μηχάνημα που διαθέτει επίσης VS05. Ωστόσο, η δημιουργία αντιγράφων ασφαλείας εικόνας του συστήματός σας πριν ξεκινήσετε την εγκατάστασή σας μπορεί να είναι συνετή. Περιμένετε μια εγκατάσταση VS08 να διαρκέσει αρκετές ώρες, με μία χειροκίνητη παρέμβαση απαιτείται για να ξεκινήσει το βήμα εγκατάστασης τεκμηρίωσης.

Έτρεξα το VS08 Team Suite στην επιφάνεια εργασίας XP σχεδόν όλη την ημέρα, πέντε ημέρες την εβδομάδα για αρκετές εβδομάδες και προσπάθησα να το χρησιμοποιήσω για όλες τις αναπτυξιακές μου εργασίες. Έτρεξα επίσης μια σειρά από μεμονωμένα σενάρια ανάπτυξης με την Επαγγελματική Έκδοση στον φορητό υπολογιστή Vista και προσομοίωσα μερικά σενάρια ανάπτυξης ομάδας στον εικονικό υπολογιστή Team Suite / TFS. Προσοχή: Εάν εγκαταστήσετε στα Windows Vista με ενεργοποιημένο τον έλεγχο λογαριασμού χρήστη (UAC), ετοιμαστείτε να εκτελέσετε το VS08 ως διαχειριστής μερικές φορές έως ότου δημιουργηθούν όλοι οι απαιτούμενοι κατάλογοι μετά από αυτό, θα πρέπει να είναι πλήρως συμβατό με UAC.

Παρουσιάζουμε το .Net Framework 3.5

Μακάρι η Microsoft να είχε προχωρήσει λίγο προς αυτή την κατεύθυνση. Είναι πολύ κακό που η Microsoft δεν παρείχε επίσης στόχευση για .Net Framework 1.1 και εύκολη αμφίδρομη μετατροπή μεταξύ έργων VS08, VS05 και Visual Studio .Net 2003.

Το .Net Framework 3.5 διαθέτει μια σειρά νέων χαρακτηριστικών βιβλιοθήκης και γλώσσας. Σε αυτά περιλαμβάνονται βελτιώσεις που σχετίζονται με το Language-Integrated Query (LINQ), Web 2.0 και SOA, ενσωματωμένη ροή εργασίας, πρωτόκολλα peer-to-peer και υποστήριξη του Microsoft Office.

Το εργαλείο για όλα αυτά βρίσκεται στο VS08. Έτσι, για παράδειγμα, το VS08 Standard και παραπάνω έχουν υποστήριξη LINQ στη Visual Basic .Net και Visual C #, συμπεριλαμβανομένου ενός αντικειμενικού σχεσιακού σχεδιαστή, του εργαλείου γραμμής εντολών SQLMetal, των επεξεργαστών κώδικα που γνωρίζουν το LINQ και της υποστήριξης εντοπισμού σφαλμάτων.

Ερωτήματα ενσωματωμένα στη γλώσσα με το LINQ

Αρκετά από τα εξαρτήματα και τους παρόχους LINQ αποστέλλονται στο VS08, συμπεριλαμβανομένων των LINQ σε Objects (συμβολοσειρές, αντανάκλαση και κατάλογοι αρχείων), LINQ σε XML και LINQ στο ADO.Net. Το LINQ to ADO.Net περιλαμβάνει δύο στοιχεία: LINQ to DataSet και LINQ to SQL. Το πιο φιλόδοξο ADO.Net Entity Framework και το LINQ to Entities είναι δεν περιλαμβάνονται στο VS08, αλλά ενδέχεται να αποσταλούν αργότερα φέτος ως πρόσθετο.

Δοκίμασα το LINQ to SQL στο C # έναντι μιας βάσης δεδομένων SQL Server 2000. Το διάγραμμα αντικειμενικής σχέσης σε αυτήν την εικόνα οθόνης δημιουργήθηκε αυτόματα σύροντας τους πίνακες από μια βάση δεδομένων. Δημιουργήθηκε επίσης αυτόματα ένα σύνολο κατηγοριών με δυνατότητα κλήσης, συμβατές με LINQ.

Το Object Relational Designer λειτούργησε καλά για να δημιουργήσει τάξεις C # από ​​το σχήμα βάσης δεδομένων και το IntelliSense λειτούργησε καλά όταν έγραψα ερωτήματα LINQ. Από την άλλη πλευρά, η συγγραφή ερωτημάτων LINQ με το χέρι σε τρεις σχετικούς πίνακες ώθησε τα όρια των νεοσυσταθέντων δεξιοτήτων μου LINQ και λαχταρούσα το ισοδύναμο LINQ του γραφικού SQL Query Designer του VS08. Ποτέ δεν κατάλαβα πώς να γράψω το ισοδύναμο LINQ ενός ερωτήματος "SELECT DISTINCT" SQL.

IntelliSense, refactoring, unit testing και μετρήσεις

Όταν δούλευα σε αυτό το μικρό έργο, διαπίστωσα ότι η λειτουργικότητα C # refactoring (περιλαμβάνεται στο Professional και παραπάνω) λειτούργησε καλά και αρκετά ομαλά. Κατά την επεξεργασία του C #, ο προγραμματιστής μπορεί να επωφεληθεί από την αυτόματη αναδιαμόρφωση, όπως φαίνεται στο αναδυόμενο μενού αυτής της εικόνας οθόνης. Υπάρχει πλήρης υποστήριξη IntelliSense για το LINQ (δείτε τον κωδικό που ξεκινά με το "var qAV" στο σχήμα). Οι μετρήσεις κώδικα (στο κάτω μέρος του σχήματος) υπολογίζονται μόνο για διαχειριζόμενο κώδικα.

Βρήκα επίσης ότι οι μετρήσεις κώδικα για διαχειριζόμενο κώδικα (περιλαμβάνονται στο VSTS Developer και Team Suite) λειτούργησαν αρκετά καλά. Δεν είμαι σίγουρος ότι συμφωνώ με τον τρόπο υπολογισμού των μετρήσεων για τον κώδικα που δημιουργείται από σχεδιαστικές επιφάνειες, αλλά σίγουρα μπορώ να δω τη συνολική χρησιμότητα των μετρήσεων, ειδικά στο πλαίσιο ομαδικών έργων που διαχειρίζονται με TFS.

Χρησιμοποίησα μετρήσεις όπως η κυκλωματική πολυπλοκότητα (ένα μέτρο του αριθμού γραμμικά ανεξάρτητων διαδρομών μέσω μιας ενότητας προγράμματος) πριν από χρόνια για να με βοηθήσει να διαχειριστώ ένα μεγάλο έργο C με δώδεκα προγραμματιστές. Χαίρομαι που βλέπω αυτήν την τεχνολογία να εισάγεται στο VS08 για διαχειριζόμενο κώδικα.

Είμαι απογοητευμένος, ωστόσο, ότι οι μετρήσεις κώδικα και η αναδιαμόρφωση κώδικα δεν είναι διαθέσιμες για μη διαχειριζόμενα έργα C ++. Από την άλλη πλευρά, τα έργα C ++ μπορούν να χρησιμοποιούν ένα πολύ ωραίο πρόγραμμα περιήγησης κλήσεων: Σας δίνει μια συμπαγή προβολή των άλλων λειτουργιών που καλούν μια δεδομένη λειτουργία και των γραμμών κώδικα που πραγματοποιούν τις κλήσεις.

Χαίρομαι που τα έργα της Visual Basic έχουν μετρήσεις κώδικα μαζί με μια απίστευτα συνοπτική σύνταξη, εξαιρετικό IntelliSense και πολλά αποσπάσματα κώδικα. Είμαι απογοητευμένος που τα έργα της Visual Basic δεν έχουν αναπροσαρμογή κώδικα, παρόλο που αυτή η λειτουργικότητα μπορεί να προστεθεί χρησιμοποιώντας μία από τις πολλές προσθήκες τρίτων.

Είμαι στην ευχάριστη θέση να αναφέρω ότι η δοκιμή μονάδας είναι πλέον χαρακτηριστικό της επαγγελματικής έκδοσης. (Ήταν μια λειτουργία VSTS στο VS05.) Μπορείτε να δημιουργήσετε δοκιμές μονάδας και δοκιμαστικά έργα για λύσεις C #, Visual Basic και διαχειριζόμενες λύσεις C ++. Ήταν δυνατό να το κάνετε αυτό πριν χρησιμοποιήσετε το δωρεάν πρόγραμμα ανοιχτού κώδικα NUnit, αλλά είναι λίγο καλύτερο να ενσωματωθεί η ικανότητα δοκιμής μονάδας με το IDE.

Το IntelliSense για JavaScript ήταν μια από τις υποσχεθείσες βελτιώσεις στο VS08. Είναι εκεί, αλλά με κόστος: Παρόλο που έχει προστεθεί υποστήριξη για το είδος της JavaScript που χρησιμοποιείται για τη σύνταξη σελίδων ASP.Net AJAX και Silverlight, η υποστήριξη για επεξεργασία VBScript και Classic ASP έχει σταματήσει. Καθώς εξακολουθώ να διατηρώ έναν vintage ιστότοπο Classic ASP του 1999, ήμουν λίγο ενοχλημένος όταν διαπίστωσα ότι το VS08 έκανε χειρότερη δουλειά με σελίδες ASP από το VS05 ή μάλλον από το Visual InterDev 6. Η Microsoft σκέφτεται να επαναφέρει αυτήν τη λειτουργικότητα για ένα service pack στο VS08. Εν τω μεταξύ, τα άτομα που εξακολουθούν να διατηρούν ιστότοπους Classic ASP δεν πρέπει να εγκαταλείψουν τα υπάρχοντα εργαλεία τους.

WPF, Silverlight και Web 2.0

Το VS08 υποστηρίζει το Silverlight, μια πλούσια τεχνολογία εφαρμογών Διαδικτύου που περιλαμβάνει ένα υποσύνολο WPF, μόλις εγκαταστήσετε το Silverlight SDK και τα Silverlight Tools για VS08. Είχα καλές εμπειρίες στην ανάπτυξη εφαρμογών Silverlight με έκδοση beta του VS08. (Για την κριτική μου για το ίδιο το Silverlight, ανατρέξτε στην ενότητα "Microsoft Silverlight rivals Flash, AJAX.")

Με εξαίρεση την μειωμένη υποστήριξη για VBScript και Classic ASP, η επιφάνεια σχεδίασης ιστοσελίδας στο VS08 είναι καλύτερη από αυτή του VS05. είναι πολύ παρόμοιο με το Expression Web και υποστηρίζει όμορφα το CSS. Σχεδίαση επιφανειών και έργων για ASP.Net AJAX, Windows Communications Foundation και Windows Workflow Foundation, τα οποία ήταν δωρεάν πρόσθετα στο VS05, έχουν μεταφερθεί στο βασικό προϊόν VS08.

Στόχοι του Office και της έξυπνης συσκευής

Το VS08 μπορεί να δημιουργήσει διαχειριζόμενο έργο έξυπνης συσκευής για τέσσερις πλατφόρμες στόχους και δύο εκδόσεις του .Net Compact Framework σε C # και Visual Basic. Στο C ++, το VS08 μπορεί να δημιουργήσει μη διαχειριζόμενα έργα έξυπνης συσκευής χρησιμοποιώντας βιβλιοθήκες Win32, ATL (Active Template Library) και MFC (Microsoft Foundation Class). αυτή η ικανότητα υπήρχε σε μια ξεχωριστή εργαλειοθήκη των Windows CE.

Απομεινάρια

Ο Microsoft SQL Server Compact 3.5 είναι μια νέα τοπική βάση δεδομένων που είναι αρκετά μικρή για ανάπτυξη σε έξυπνες συσκευές. Οι προγραμματιστές μπορούν να το χρησιμοποιήσουν σε αυτόνομα και περιστασιακά συνδεδεμένα σενάρια. Όταν το SQL Server Compact χρησιμοποιείται για την τοπική αποθήκευση δεδομένων στη βάση δεδομένων, οι υπηρεσίες Microsoft Synchronization for ADO.Net φροντίζουν τον περιοδικό συγχρονισμό μεταξύ της τοπικής βάσης δεδομένων Compact και της απομακρυσμένης βάσης δεδομένων.

Εάν εντοπιστεί μια εγκατάσταση Team Foundation Server, το Visual Studio μπορεί να ενσωματωθεί σε αυτό. Αυτό επιτρέπει στον προγραμματιστή να λαμβάνει στοιχεία εργασίας και να κάνει check-in, καθώς και έναν διαχειριστή να παράγει αναφορές όπως αυτή που εμφανίζεται εδώ.

Το Team System έχει πολλές βελτιώσεις. Ένα μεγάλο στοιχείο στο TFS είναι ένα νέο σύστημα Team Build. άλλο είναι η πρόσβαση στο Διαδίκτυο. Οι αρχιτέκτονες έχουν έναν νέο σχεδιαστή συστήματος από πάνω προς τα κάτω και ένα σύστημα αρχιτεκτονικού ρόλου. Οι προγραμματιστές έχουν το νέο σύστημα μετρήσεων κώδικα που ανέφερα νωρίτερα, καθώς και καλύτερα εργαλεία ανάλυσης κώδικα και απόδοσης. Τα DBA διαθέτουν ανάλυση κώδικα T-SQL, γεννήτρια δεδομένων και εργαλεία επανακατασκευής. Οι υπεύθυνοι δοκιμών έχουν καλύτερα εργαλεία και κανόνες επικύρωσης, συμπεριλαμβανομένου ενός παράγοντα δοκιμής φόρτωσης.

Το Visual Studio διαθέτει ένα ενεργό οικοσύστημα ανεξάρτητων προμηθευτών λογισμικού. Οι περισσότεροι από αυτούς τους προμηθευτές παράγουν πρόσθετα και στοιχεία ελέγχου που βελτιώνουν το Visual Studio. Ένα νέο Visual Studio Shell επιτρέπει σε αυτούς τους πωλητές να στέλνουν αυτόνομες εκδόσεις των προϊόντων τους που δεν απαιτούν από τον πελάτη να αγοράσει το Visual Studio σωστά. Επικροτώ αυτήν την κίνηση της Microsoft: Νομίζω ότι κάνει το οικοσύστημα πιο υγιές, διότι επιτρέπει στους ISV να είναι πιο ανταγωνιστικοί με σχετικά μικρό κόστος για τη Microsoft.

Συνολικά, το Visual Studio 2008 είναι μια αναβάθμιση που θα θέλουν να κάνουν τα περισσότερα καταστήματα ανάπτυξης με γνώμονα τη Microsoft, προκειμένου να αναπτυχθούν με νέες τεχνολογίες, όπως WPF, WCF και WF, και για νέες πλατφόρμες, όπως τα Windows Vista. Ωστόσο, δεν είναι μια αναβάθμιση που γίνεται εύκολα αποσπασματικά. Θα συνιστούσα στα περισσότερα καταστήματα να αναβαθμίσουν όλους τους προγραμματιστές σε ένα έργο μόλις το ίδιο το έργο αναβαθμιστεί επιτυχώς. Σύμφωνα με την εμπειρία μου, η αναβάθμιση έργων από VS05 σε VS08 ήταν σχετικά ανώδυνη, με πολύ λίγα στον τρόπο της επανεγγραφής κώδικα.

Για καταστήματα που εξακολουθούν να διατηρούν ιστότοπους Classic ASP, θα συνιστούσα να εγκαταστήσετε το VS08 δίπλα-δίπλα με το VS05, τουλάχιστον έως ότου αποκατασταθεί η λειτουργικότητα Classic ASP και VBScript. Και για καταστήματα που εξακολουθούν να χρησιμοποιούν το Visual Studio .Net 2003 ή παλαιότερες εκδόσεις λόγω αντιληπτών προβλημάτων με το VS05, θα πρότεινα σοβαρά την αξιολόγηση του VS08.

Με λίγες εξαιρέσεις, οι χρήστες κάθε επιπέδου του Visual Studio θα βελτιώσουν την κυκλοφορία του 2008. Είναι μια ισχυρή αναβάθμιση και μια σταθερή βάση για μελλοντική ανάπτυξη.

Πίνακας βαθμολογίας αξία (10.0%) Ικανότητα (30.0%) Εκτέλεση (15.0%) Ευκολία ανάπτυξης (30.0%) Τεκμηρίωση (15.0%) Συνολική βαθμολογία (100%)
Microsoft Visual Studio 2008 Professional και Microsoft Visual Studio Team System 2008 Team Suite9.010.09.09.09.0 9.3

Copyright el.verticalshadows.com 2024

$config[zx-auto] not found$config[zx-overlay] not found