1) no
2) it changes the meaning of the quoted section

The worst part is I am actually attending this troll war because our dev
systems are stuck and I have nothing else to do...

I would consider the right answer for the OP's question the one of Cerebrus,
that one is reasonable.

--------------------------------------------huge stroke
line-------------------------------------------------------------------------
here is place for flame war

I think your code stink like a sock of an old elephant... :P

2009/12/17 Jamie Fraser <[email protected]>

> The rest of your message doesn't change the meaning of the quoted section.
>
> You are telling people how to do something.
>
> I am telling people how I think they should do something.
>
> Both are the same - your issue isn't anything to do with how I'm phrasing
> it, it is because you don't agree with the concept but can't rationalise an
> argument to counter it.
>
>
> On Thu, Dec 17, 2009 at 12:54 PM, Processor Devil <
> [email protected]> wrote:
>
>> REALLY? And did you read it all?
>>
>> inside the same class use i = me._intID :)
>> class properties are used to set or get the variable content out of the
>> current class scope, but yes, either works
>> EITHER WORKS
>>
>>
>> 2009/12/17 Jamie Fraser <[email protected]>
>>
>>> Actually, re-reading your earlier post, you're being a complete
>>> hypocrite. You said
>>>
>>>
>>> "inside the same class use i = me._intID :)"
>>>
>>> Not even a should - simply prescribing to others how they should code.
>>> That is far worse (by your definition) than me saying Should!
>>>
>>>
>>> On Thu, Dec 17, 2009 at 12:48 PM, Jamie Fraser 
>>> <[email protected]>wrote:
>>>
>>>> No, I understand exactly what you mean, but I feel that is the way that
>>>> people SHOULD do it, hence my use of the word.
>>>>
>>>> I didn't find your earlier comments either funny or productive regarding
>>>> my ability (or you perceiving my "lack of" ability), and I like to think
>>>> I've been fairly successful so far in my career as a Developer, and if *I*
>>>> think something should be done in a particular way, I'm happy to tell this
>>>> to others. Whether they do this or not is entirely up to them. However, 
>>>> this
>>>> is becoming self-perpetuating, as you think I *shouldn't* tell people what 
>>>> I
>>>> think they *should* do.
>>>>
>>>> Let's just agree to disagree, and try not to throw any "jokes" around
>>>> later.
>>>>
>>>>
>>>> On Thu, Dec 17, 2009 at 12:25 PM, Processor Devil <
>>>> [email protected]> wrote:
>>>>
>>>>> again and again... Yes,  many open source projects uses that... and
>>>>> many open source project are also nothing more but just spaghetti code 
>>>>> (try
>>>>> to search for SpectateSwamp Desktop Search, you will laugh for sure), 
>>>>> but...
>>>>> why the hell do I need some less skilled programmer to change encryption 
>>>>> key
>>>>> and IV vector properties in my class when there is function which does 
>>>>> both
>>>>> and it works as it should? Sometimes you just need to change MORE than 
>>>>> just
>>>>> one variable to make the code works, do you want end-programmer to do it 
>>>>> one
>>>>> by one and let him make a mistake or omit something or you will give him
>>>>> just function that will change it internally and all for sure?
>>>>>
>>>>> P.S. about the Open Source projects... so if they do it then it is the
>>>>> only way? All I wanted you to do next time was not to use word SHOULD, is 
>>>>> it
>>>>> hard to understand?
>>>>>
>>>>>
>>>>> 2009/12/17 Jamie Fraser <[email protected]>
>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Dec 17, 2009 at 11:38 AM, Processor Devil <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> well, in read-only variables you don't need to specify the Set part
>>>>>>> at all...
>>>>>>> another thing I was about also was that specifying logic inside the
>>>>>>> property is not a really good practice (it is always better to create 
>>>>>>> some
>>>>>>> private method and call it from inside, it saves time and it is better 
>>>>>>> for
>>>>>>> reusability as well).
>>>>>>>
>>>>>>
>>>>>> How do you set the property then? By accessing the field directly? I
>>>>>> don't like that. If you get using a property, you should set using a
>>>>>> property.
>>>>>>
>>>>>> And there is NOTHING wrong with having some logic within the property
>>>>>> - take a look through the source code of any major Open Source project 
>>>>>> and
>>>>>> see how they do it.
>>>>>>
>>>>>>
>>>>>>
>>>>>>> And the exact thing I wanted to hear was this: "In general, I find it
>>>>>>> good practice to use Get Properties (where they exist) as a default". 
>>>>>>> Yes,
>>>>>>> you find it a good practice, but it is not general good practice, you 
>>>>>>> should
>>>>>>> NOT say anyone that he SHOULD use it. It is also the reason why this 
>>>>>>> thread
>>>>>>> started... Bunch of programmers who uses this practice told him that he
>>>>>>> SHOULD do it their way and he got confused... It is your good practice, 
>>>>>>> it
>>>>>>> is not my good practice, but I am not going to force you to do it my 
>>>>>>> way ;-)
>>>>>>>
>>>>>>> Sorry if I do look like being upset, the reason is that I am upset, I
>>>>>>> have to attend LiveMeeting which is 2 hours in length and sound doesn't 
>>>>>>> work
>>>>>>> as it should...
>>>>>>>
>>>>>>> 2009/12/17 Jamie Fraser <[email protected]>
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Yes, of course if property has some logic which checks the set value
>>>>>>>>> or count the get value from something then yes, you should use the 
>>>>>>>>> property,
>>>>>>>>> but why to use it when it contains only eg get {return this.value} ? 
>>>>>>>>> and one
>>>>>>>>> more thing about your message:
>>>>>>>>>
>>>>>>>>
>>>>>>>> In general, I find it good practice to use Get Properties (where
>>>>>>>> they exist) as a default. They might only say
>>>>>>>>
>>>>>>>> return _abc;
>>>>>>>>
>>>>>>>> but then they might say
>>>>>>>>
>>>>>>>> if(x || y) { _abc = _service.Refresh(); } else { _abc =
>>>>>>>> service.Load(_id); }
>>>>>>>> return _abc;
>>>>>>>>
>>>>>>>> And they also might *change* from example 1 to example 2. If you
>>>>>>>> consistently use the Get Property, if the logic changes, your code will
>>>>>>>> still work. Remember - another developer might change the logic 
>>>>>>>> contained in
>>>>>>>> the property but NOT check the the rest of the code for where it is 
>>>>>>>> used.
>>>>>>>>
>>>>>>>> So, elsewhere in the class, if you say
>>>>>>>>
>>>>>>>> int a = _abc;
>>>>>>>>
>>>>>>>> Then your code breaks.
>>>>>>>>
>>>>>>>> But if  you say
>>>>>>>>
>>>>>>>> int a = PropertyABC;
>>>>>>>>
>>>>>>>> Then your code continues working. It is a safety net - win/win, if
>>>>>>>> you will. If the property only returns _abc, then the compiler will 
>>>>>>>> inline
>>>>>>>> this to int a = _abc anyway, so there is no performance hit.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> -If the property is read-only, then there is a reason for this
>>>>>>>>> (i.e. logic already exists internally to set the value of the 
>>>>>>>>> underlying
>>>>>>>>> field)
>>>>>>>>> and that logic is? Sorry, but I don't quite understand that, coding
>>>>>>>>> classes always means to create some its own logic and how does look a 
>>>>>>>>> logic
>>>>>>>>> to set the variable? Maybe this.variable = value? Oh no, sry, you 
>>>>>>>>> can't, you
>>>>>>>>> must use property for this... but property is read-only? Damn, so 
>>>>>>>>> there
>>>>>>>>> already MUST be some logic that sets it...
>>>>>>>>> --that was test of some irony, don't get it personally ;-)
>>>>>>>>>
>>>>>>>>>
>>>>>>>> I don't really get what you mean here.
>>>>>>>>
>>>>>>>> In the case of a read-only variable, you want to prevent *external*
>>>>>>>> classes from changing the value of the field. Therefore, you do 
>>>>>>>> something
>>>>>>>> like
>>>>>>>>
>>>>>>>>       public string Name
>>>>>>>>       {
>>>>>>>>          get
>>>>>>>>          {
>>>>>>>>             return _name;
>>>>>>>>          }
>>>>>>>>          private set
>>>>>>>>          {
>>>>>>>>             _name = value;
>>>>>>>>          }
>>>>>>>>       }
>>>>>>>>
>>>>>>>> And you use the property as normal.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to