Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialvalkyrie wing
357 Pointscomputed type vs old fashioned OOP
not really a question. a discussion maybe..
this computed type is so confusing, i think old fashioned object oriented like java etc with data member and function to access data member is better
unlike java, only provides one strict way so all programmer easily understand because it only provides 1 way. imagine if working with other 20 programmers, and 20 programmers have its own preference of using helper method. some is using function, some extension. imagine if someone is a newbie in swift or obj c, then he read some function that has been extension implemented by other programmer, he could mislead if its function is originated by swift or objc
thankyou. please share your opinion.
valkyrie wing
357 PointsJeff McDivitt hey jev thanks for your reply. really appreciated it
yes i know. it becomes very handy plus there is a new properties watcher
but it will caused inconsistency of programing style among 20 developers developing together isnt it? even worse with xcode IDE which is slow. with basic prefix "get" and "set" name function, like
getConstraint()
setConstraint(String, int)
//or
//start writing bank.get -> then ide autocomplete the rest
bank.getSallary()
bank.setSallary(23)
//or
textField.setEnabled(true)
would give more clues to developer to know what he can do for an object. just write the prefix and all important functions come up... rather than
class bank{
var sallary:Int = {get{} set{}}
}
//while a new comer developer wouldnt really know what class bank is
//start writing bank.get -> tada nothing shows up
//then programmer confused what he can do with object bank
most of OOP protect its properties / datamember from the outside (default protected), while swift with computed properties let outside directly change its value (default public)
what do you think? :D
2 Answers
Jeff McDivitt
23,970 Pointsvalkyrie wing as Swift as still in its infant stages maybe it will be more clear in later releases of the language. :)
valkyrie wing
357 PointsJeff McDivitt yes i agree.. i always wonder how does it feel to be a programmer in early stage of computer era.. now here it goes. hahaha full of grumbling.. ok nice discussion
Jeff McDivitt
23,970 PointsDo you come from a background in programming in another language? I came from objective C and Java and feel that Swift is leaps and bounds above these two languages. Also the confusion for some developers I feel would be easily overcame once they saw the ease of use for Swift. Thoughts?
valkyrie wing
357 Pointsyes. c++, java, php, python, javascript
i guess i just hate the function name without prefix get and set in the computed type.. for example
would you guess what are view.constraint's getter and setter? by having prefix get or set in the function name, you would know at the first glance, but not computed type. hence you must scroll down the sugestion box getting worse with inconsistent function naming of swift 2.
swift enum is great tho.. yea i am trying to make peace with swift lol.. thankyou Jeff McDivitt
bonus.. what the heck is this UIControlEventValueChanged, UIControlEventEditingChanged, shouldChangeCharactersInRange, UITextFieldTextDidChangeNotification, all of them aim the same.
other example, this is obj c: value for NSStringEncoding is NSUTF8StringEncoding, wtf??? should be NSStringEncoding.utf8
what the heck. so inconsitent.
Jeff McDivitt
23,970 PointsJeff McDivitt
23,970 PointsHi valkyrie - I am a fan of computed properties and find them very useful. Although there are pros and cons to each language I find Swift to be one of my favorite languages to program in. I have attached a link for you to read more about computed properties and see how they can benefit your code :)
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html